ATLTRACE2

警告到一个输出设备报告,如调试器窗口中,根据指定的标志和级别。

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 和 ATL/MFC 跟踪工具针对级别 0,则看不到消息。 级别 可以是 0,1,2,3 或 4。 默认值,0,仅报告严重的问题。

category 参数列表跟踪标志设置为。 这些标志对应于要报告方法的类型。 下表列出了可以为 category 参数使用的有效跟踪标志。

ATL 跟踪标志

ATL 类

描述

atlTraceGeneral

有关所有 ATL 应用程序的报表。 默认值。

atlTraceCOM

有关 COM 方法的报表。

atlTraceQI

有关 QI 的报表调用。

atlTraceRegistrar

有关对象注册的报表。

atlTraceRefcount

有关更改的报告引用计数。

atlTraceWindowing

有关 windows 方法的报表;例如,报表无效消息映射 ID.

atlTraceControls

有关控件的报表;例如,报告,在销毁控件或窗口。

atlTraceHosting

承载邮件的报表;例如,报表激活时,容器中客户端。

atlTraceDBClient

有关 OLE DB 使用者模板提供的报表;例如,在中,当对 GetData 的调用失败时,输出可能包含 HRESULT。

atlTraceDBProvider

有关 OLE DB 提供程序模板提供的报表;例如,报表,如果列的创建失败。

atlTraceSnapin

MMC 卡扣样式的应用程序的报表。

atlTraceNotImpl

报表所指示的功能不实现。

atlTraceAllocation

报告内存调试工具打印的消息。atldbgmem.h。

MFC TRACE 标志

MFC 类

描述

traceAppMsg

通常使用,MFC 消息。 始终建议。

traceDumpContext

CDumpContext的消息。

traceWinMsg

从 MFC 的消息处理代码的消息。

traceMemory

从 MFC 的内存管理代码的消息。

traceCmdRouting

从 MFC 的 windows 命令传送代码的消息。

traceHtml

从 MFC 的 DHTML 对话框的消息支持。

traceSocket

从 MFC 套接字支持的消息。

traceOle

从 MFC 的 OLE 的消息支持。

traceDatabase

从 MFC 的消息数据库支持。

traceInternet

从 MFC 的 Internet 的消息支持。

若要声明自定义跟踪类别,请声明 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> 语句之前。

或者,可以在预处理器指令的筛选器在 属性页 对话框。 单击 预处理器 选项插入到全局 预处理器定义 中然后编辑框。

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)

其他资源

Debugging and Error Reporting Macros