共用方式為


ATLTRA CE2

警告向一組輸出裝置報告,例如偵錯工具視窗中,依據旗標和層級。

ATLTRACE2( exp );
ATLTRACE2(
   DWORD category,
   UINT level,
   LPCSTR lpszFormat,
   ...
);

參數

  • exp
    [in] 傳送字串至 Visual C++ 輸出視窗或截獲這些訊息的所有應用程式。

  • category
    [in]報告的事件或方法的型別。為分類清單。請參閱 <備註>。

  • level
    [in] 報告的追蹤層級。請參閱以取得詳細資訊。

  • lpszFormat
    [in] 使用的 printf樣式的格式字串建立字串傳送到傾印裝置。

備註

ATLTRACE2 的簡短形式寫入資料到偵錯工具的輸出視窗。ATLTRACE2 的第二個表單也將輸出寫入至偵錯工具的輸出視窗,不過,受 ATL/MFC 追蹤工具設定限制 (請參閱 ATLTraceTool 範例)。例如,在中,如果您將 level 為 4 並為層級 0,您的 ATL/MFC 追蹤工具不會看到訊息。層次可為 0, 1, 2, 3 或 4。預設值為 0,,報告只嚴重的問題。

category 參數清單設定的追蹤標記。這些旗標對應到您要報告方法的型別。下表列出您可以為 category 參數的有效追蹤標記。

ATL 追蹤標記

ATL 類別

描述

atlTraceGeneral

如需所有 ATL 應用程式的報表。預設值。

atlTraceCOM

如需 COM 方法的報表。

atlTraceQI

如需 QueryInterface 呼叫的報表。

atlTraceRegistrar

如需物件的註冊的報表。

atlTraceRefcount

如需變更之參考次數的報表。

atlTraceWindowing

如需 Windows 方法的報告;例如,報表無效的訊息對應識別碼 .

atlTraceControls

如需控制項的報告;例如,報表,當終結控制項或其視窗。

atlTraceHosting

裝載訊息的報告;例如,報表,當容器的用戶端啟動。

atlTraceDBClient

如需 OLE DB 消費者樣板的報告;例如,當,對 GetData 的呼叫失敗時,輸出可能包含 HRESULT。

atlTraceDBProvider

如需 OLE DB 提供者樣板的報告;例如,報告資料行的建立是否失敗。

atlTraceSnapin

MMC 嵌入式管理單元的應用程式的報表。

atlTraceNotImpl

報告中指出的函式未實作。

atlTraceAllocation

報告在 atldbgmem.h 的記憶體偵錯工具列印的訊息。

MFC 追蹤標記

MFC 類別

描述

traceAppMsg

通用, MFC 訊息。永遠建議。

traceDumpContext

CDumpContext的訊息。

traceWinMsg

從 MFC 的訊息處理程式碼的訊息。

traceMemory

從 MFC 的記憶體管理程式碼的訊息。

traceCmdRouting

從 MFC 的 Windows 命令路由程式碼的訊息。

traceHtml

從 MFC 的 DHTML 對話方塊支援的訊息。

traceSocket

從 MFC 通訊端支援的訊息。

traceOle

從 MFC 的 OLE 支援的訊息。

traceDatabase

從 MFC 的資料庫支援的訊息。

traceInternet

從 MFC 的網際網路支援的訊息。

若要宣告自訂追蹤分類,請宣告 CTraceCategory 類別的全域執行個體如下:

CTraceCategory MY_CATEGORY(_T("MyCategoryName"), 1);

類別,在此範例中, MY_CATEGORY 是您指定給 category 參數的名稱。第一個參數是要出現在 ATL/MFC 追蹤工具的分類名稱。第二個參數是預設的追蹤層級。這個參數是選擇性的,因此,預設的追蹤層級為 0。

使用使用者定義的分類:

ATLTRACE2(MY_CATEGORY, 2, _T("a message in a custom category"));

如需這些巨集指定您要篩選追蹤訊息,外掛程式會定義在 stdafx.h 在 #include <atlbase.h> 陳述式之前。

或者,您可以在前置處理器指示詞的篩選條件會在 [屬性頁] 對話方塊。按一下 Preprocessor 選項然後插入全域入 Preprocessor Definitions 編輯方塊。

Atlbase.h 包含預設 ATLTRACE2 巨集的定義,並將使用這些定義,如果沒有定義這些符號,在 atlbase.h 處理之前。

在發行的組建中,編譯 ATLTRACE2 為 (void) 0。

ATLTRACE2 條件會傳送字串的內容至不超過 1023 個字元的傾印裝置,在格式化之後。

ATLTRACEATLTRACE2 有相同的行為, ATLTRACE 為回溯相容性。

範例

int i = 1;
ATLTRACE2(atlTraceGeneral, 4, "Integer = %d\n", i);
// Output: 'Integer = 1'

需求

Header: atltrace.h

請參閱

參考

ATLTRACE (ATL)

其他資源

偵錯和錯誤報告巨集