如何在VS2015中配置ATL跟踪级别和类别

时间:2016-01-09 03:40:39

标签: mfc visual-studio-2015 atl

我想跟踪在VS2015(社区版)中建立的项目中的ATL注册商流程。在this post(第三段)中,它表示ATL / MFC跟踪工具已被删除。

不幸的是VS 2015 documentation没有反映出这种变化。它仍然讨论了跟踪工具(备注下的第一段)。

我的问题是您如何指定要查看与ATL注册商相关的所有邮件?

1 个答案:

答案 0 :(得分:0)

我研究了ATL的源代码(作为VS的一部分安装)。特别是atltrace.h。我发现了这个:

  1. CTrace类控制跟踪哪些类别和跟踪 等级
  2. 静态无符号成员m_nLevel是跟踪级别。
  3. 较低的m_nLevel值会导致更多跟踪。
  4. 零会导致所有迹线输出
  5. 值CTrace :: DisableTracing显式禁用全部     跟踪
  6. 静态无符号成员m_nCategory是位掩码
  7. 模板类CTraceCategoryEx预先定义了23个不同的类别
  8. TraceUser和TraceUtil类别均为0x80000。我认为这是一个错误,TraceUser应该是0x800000
  9. CTrace :: GetLevel()获取当前跟踪级别。默认值为零
  10. CTrace :: SetLevel()设置跟踪级别
  11. CTrace :: GetCategories()返回类别位掩码
  12. CTrace :: SetCategories()设置类别位掩码
  13. 对于给定的跟踪级别和类别CTrace :: IsTracingEnabled()返回enablement
  14. CTrace :: RegisterCategory()注册具有给定名称和索引的类别
  15. 用户定义的类别有9个插槽。
  16. 如果在atltrace.h之前未定义_DEBUG,则未定义CTrace。
  17. 在670行代码中不到二十条评论。
  18. 在理解代码操作时,不超过5条注释有用
  19. CTrace中有一个奇怪的枚举定义了几个不相关的常量。
  20. 常量EnableAllCategories(unsigned int as bit mask)和DisableTracing(unsigned int)碰巧具有相同的值,而另一个则分配给另一个。
  21. 回答我的问题:除了调试版本之外,没有什么需要查看与注册器相关的所有跟踪,以及查看消息的所有跟踪,例如DebugView。