-qfunctrace

種類

檢查及除錯時發生錯誤

@PROCESS

無。

用途

追蹤程式中程序的進入及結束點。 如果您的程式包含 C++ 編譯單元,則此選項也會追蹤 C++ catch 區塊。

語法

讀取語法圖跳過視覺化語法圖-qnofunctrace-qfunctrace +  - :procedure_namemodule_name子模組名稱

預設值

-qnofunctrace

參數

+
指示編譯器追蹤指定的程式、程序或模組程序。 依預設會追蹤其所有內部程序。
-
指示編譯器不要追蹤指定的程式、程序、模組程序或其任何內部程序。
程序名稱
程式、外部程序或模組程序的名稱。 -qmixed 生效時,名稱會區分大小寫。 容許 BIND(C) 連結標籤及混亂的模組程序名稱,但它們必須具有正確的大小寫。 如果 -qextname 有效,則 procedure_name 是不含其他底線的程序名稱。
模組名稱
模組的名稱。 當 -qmixed 生效時,名稱會區分大小寫。
Fortran 2008 開始子模組名稱
子模組的名稱。 當 -qmixed 生效時,名稱會區分大小寫。Fortran 2008 結束

用法

-qfunctrace 會啟用程式中所有 程序 的追蹤。 -qnofunctrace 會停用 -qfunctrace所啟用的追蹤。

-qfunctrace+-qfunctrace- 子選項會啟用特定 程序 清單的追蹤,且不受 -qnofunctrace影響。 procedures 的清單是累加的。 同時指定模組程序及其包含模組 Fortran 2008 開始或子模組Fortran 2008 結束 時,程序規格優先。

這個選項會將呼叫插入您已定義的追蹤 程序 。 這些 程序 必須在鏈結步驟中提供。 如需追蹤 程序介面的詳細資料,以及呼叫它們的時間,請參閱 XL Fortran Optimization and Programming Guide中的 程式碼中的追蹤程序 一節。

範例

下表提供一些使用 -qfunctrace 選項來達到不同目的的範例。

用途 用法範例
追蹤所有程序 -qfunctrace
追蹤程序 xyz -qfunctrace+x:y:z
追蹤 x 以外的所有程序 -qfunctrace -qfunctrace-x-qfunctrace-x -qfunctrace
僅追蹤程序 xy -qfunctrace+x -qfunctrace+y-qfunctrace+x -qnofunctrace -qfunctrace+y
僅追蹤程序 y -qfunctrace+y -qnofunctrace-qfunctrace+y
在模組 y 中追蹤所有模組程序 (程序 x除外) -qfunctrace-x -qfunctrace+y-qfunctrace+y -qfunctrace-x

相關資訊