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

Mfc 如何在VS2015中配置ATL跟踪级别和类别,mfc,visual-studio-2015,atl,Mfc,Visual Studio 2015,Atl,我想在VS2015(社区版)中构建的一个项目中跟踪ATL注册过程。在(第三段)中,它说ATL/MFC跟踪工具已被取消 不幸的是,报告没有反映这一变化。它仍然讨论跟踪工具(备注下的第一段) 我的问题是如何指定要查看与ATL注册器相关的所有消息?我研究了ATL的源代码(作为VS的一部分安装)。特别是atltrace.h。我发现: 类CTrace控制跟踪哪些类别以及跟踪 水平仪 静态无符号成员m_nLevel是跟踪级别 m_nLevel的值越低,跟踪越频繁 零导致输出所有记录道 值CTrace::Di

我想在VS2015(社区版)中构建的一个项目中跟踪ATL注册过程。在(第三段)中,它说ATL/MFC跟踪工具已被取消

不幸的是,报告没有反映这一变化。它仍然讨论跟踪工具(备注下的第一段)


我的问题是如何指定要查看与ATL注册器相关的所有消息?

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

  • 类CTrace控制跟踪哪些类别以及跟踪 水平仪
  • 静态无符号成员m_nLevel是跟踪级别
  • m_nLevel的值越低,跟踪越频繁
  • 零导致输出所有记录道
  • 值CTrace::DisableTracing显式禁用所有 追踪
  • 静态无符号成员m_nCategory是位掩码
  • 模板类CTraceCategoryEx预先定义了23个不同的类别
  • TraceUser和TraceUtil类别均为0x80000。我认为这是一个bug,TraceUser应该是0x800000
  • CTrace::GetLevel()获取当前跟踪级别。默认值为零
  • 设置跟踪级别
  • CTrace::GetCategories()返回类别位掩码
  • CTrace::SetCategories()设置类别位掩码
  • 对于给定的跟踪级别和类别,CTrace::IsTracingEnabled()返回启用
  • CTrace::RegisterCategory()使用给定的名称和索引注册类别
  • 用户定义的类别有9个插槽
  • 如果在未定义atltrace.h CTrace之前未定义调试
  • 670行代码中只有不到20条注释
  • 在理解代码操作时,不超过5条注释是有用的
  • CTrace中有一个奇怪的枚举,它定义了几个不相关的常量
  • 常量EnableAllCategories(作为位掩码的无符号int)和DisableTracing(无符号int)恰好具有相同的值,并且一个值分配给另一个值

  • 回答我的问题:不需要任何东西来查看与注册器相关的所有跟踪,除了调试构建和查看消息的东西,如DebugView。

    “670行代码中只有不到20条左右的注释。”-嗯。太好了。谢谢分享。我可以好奇地问一下,这(以及下面的要点)是如何有帮助的,甚至与这个问题有着千丝万缕的联系吗?有人搜索ATL跟踪信息很可能会碰到这个问题。我在研究编程问题时经常会找到相关的信息(但不是直接的答案)。如果有人在研究相关原因时出现这种情况,那么在他们开始研究之前,这些注释是有用的背景。然而,“670行代码中的注释不到20条”或“不超过5条注释有助于理解代码操作”对未来的访问者如何有用?除非他们碰巧对你在ATL跟踪实现中对评论质量的意见进行了调查。来自Stack Overflow:“Stack Overflow是一个面向专业和热心程序员的问答网站。它是由你创建和运行的[…]”。显然,我很关心我碰巧遇到的帖子的质量。我指出,如何改进你的。至于你的最终结论:如果你使用DebugView这样的工具,你不需要知道你的任何发现。如果你决定使用更合适的工具,比如ATL/MFC跟踪工具,这些都是相关的。事实上,直到最后一条消息,你才指出如何“改进”我的帖子。而且你仍然没有任何洞察——我看到了——这些评论是如何有用的。至于我的最终结论,一开始我并不知道。我断言,列出我的发现可能对将来的人有用。