如何在 VS2015 中配置 ATL 跟踪级别和类别
How to configure ATL trace level and categories in VS2015
我想跟踪我在 VS2015(社区版)中构建的项目中的 ATL 注册器进程。在 this post(第三段)中,它表示 ATL/MFC 跟踪工具已被删除。
遗憾的是,VS 2015 documentation 并未反映该更改。还是说trace工具(备注下第一段)
我的问题是您如何指定要查看与 ATL 注册商相关的所有消息?
我研究了 ATL 的源代码(作为 VS 的一部分安装)。特别是 atltrace.h。我发现了这个:
- class CTrace 控制跟踪哪些类别和跟踪
等级
- 静态未签名成员m_nLevel是跟踪级别。
- m_nLevel 的较低值会导致更多跟踪。
- 零导致输出所有痕迹
- 值CTrace::DisableTracing明确禁用所有
追踪
- 静态未签名成员,m_nCategory,是位掩码
- 模板class CTraceCategoryEx pre-defines 23个不同的类别
- TraceUser 和 TraceUtil 类别都是 0x80000。我认为这是一个错误,TraceUser 应该是 0x800000
- CTrace::GetLevel() 获取当前跟踪级别。默认为零
- CTrace::SetLevel() 设置跟踪级别
- CTrace::GetCategories() returns 类别位掩码
- CTrace::SetCategories() 设置类别位掩码
- 对于给定的跟踪级别和类别 CTrace::IsTracingEnabled() returns 启用
- CTrace::RegisterCategory() 用给定的名称和索引注册一个类别
- 用户定义的类别有 9 个插槽。
- 如果在atltrace.h之前未定义_DEBUG,则未定义CTrace。
- 670 行代码中只有不到二十条注释。
- 不超过5条评论对理解代码操作有用
- CTrace 中有一个奇怪的枚举,它定义了几个不相关的常量。
- 常量EnableAllCategories(unsigned int作为位掩码)和DisableTracing(unsigned int)恰好具有相同的值,一个赋值给另一个。
我的问题的答案:除了调试构建和查看消息的东西(如 DebugView)之外,不需要任何东西来查看与 Registrar 相关的所有跟踪。
我想跟踪我在 VS2015(社区版)中构建的项目中的 ATL 注册器进程。在 this post(第三段)中,它表示 ATL/MFC 跟踪工具已被删除。
遗憾的是,VS 2015 documentation 并未反映该更改。还是说trace工具(备注下第一段)
我的问题是您如何指定要查看与 ATL 注册商相关的所有消息?
我研究了 ATL 的源代码(作为 VS 的一部分安装)。特别是 atltrace.h。我发现了这个:
- class CTrace 控制跟踪哪些类别和跟踪 等级
- 静态未签名成员m_nLevel是跟踪级别。
- m_nLevel 的较低值会导致更多跟踪。
- 零导致输出所有痕迹
- 值CTrace::DisableTracing明确禁用所有 追踪
- 静态未签名成员,m_nCategory,是位掩码
- 模板class CTraceCategoryEx pre-defines 23个不同的类别
- TraceUser 和 TraceUtil 类别都是 0x80000。我认为这是一个错误,TraceUser 应该是 0x800000
- CTrace::GetLevel() 获取当前跟踪级别。默认为零
- CTrace::SetLevel() 设置跟踪级别
- CTrace::GetCategories() returns 类别位掩码
- CTrace::SetCategories() 设置类别位掩码
- 对于给定的跟踪级别和类别 CTrace::IsTracingEnabled() returns 启用
- CTrace::RegisterCategory() 用给定的名称和索引注册一个类别
- 用户定义的类别有 9 个插槽。
- 如果在atltrace.h之前未定义_DEBUG,则未定义CTrace。
- 670 行代码中只有不到二十条注释。
- 不超过5条评论对理解代码操作有用
- CTrace 中有一个奇怪的枚举,它定义了几个不相关的常量。
- 常量EnableAllCategories(unsigned int作为位掩码)和DisableTracing(unsigned int)恰好具有相同的值,一个赋值给另一个。
我的问题的答案:除了调试构建和查看消息的东西(如 DebugView)之外,不需要任何东西来查看与 Registrar 相关的所有跟踪。