【问题标题】:How to configure ATL trace level and categories in VS2015如何在VS2015中配置ATL跟踪级别和类别
【发布时间】:2016-04-13 20:50:03
【问题描述】:

我想在我在 VS2015(社区版)中构建的项目中跟踪 ATL 注册器流程。在this post(第三段)中,它说 ATL/MFC 跟踪工具已被淘汰。

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

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

【问题讨论】:

    标签: mfc visual-studio-2015 atl


    【解决方案1】:

    我研究了 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() 返回启用
    14. CTrace::RegisterCategory() 注册具有给定名称和索引的类别
    15. 用户定义的类别有 9 个插槽。
    16. 如果在 atltrace.h CTrace 未定义之前未定义 _DEBUG。
    17. 在 670 行代码中只有不到 20 个左右的 cmets。
    18. 对理解代码操作有用的 cmets 不超过 5 个
    19. CTrace 中有一个奇怪的枚举,它定义了几个不相关的常量。
    20. 常量 EnableAllCategories(无符号整数作为位掩码)和 DisableTracing(无符号整数)恰好具有相同的值,并且一个分配给另一个。

    回答我的问题:无需查看与 Registrar 相关的所有跟踪,除了调试构建和查看消息的内容(如 DebugView)。

    【讨论】:

    • “670 行代码中只有不到 20 个 cmets。” - 嗯。那太棒了。感谢分享。我可以很好奇地问一下,这(以及以下要点)是如何有帮助的,甚至与问题有什么关系?
    • 搜索 ATL 跟踪信息的人很可能会遇到这个问题。我经常找到我在研究编程问题时遇到的问题的相关信息(但不是直接答案)。如果在有人出于相关原因进行研究时发生这种情况,那么 cmets 在他们开始努力之前是有用的背景。
    • 如何"670行代码中不到20个左右的cmets"或者"理解代码操作不超过5个cmets" i> 对未来的访客有用吗?除非他们碰巧专门针对您对 ATL 跟踪实施中评论质量的意见进行了调查。
    • 来自 Stack Overflow Tour“Stack Overflow 是一个面向专业和爱好者程序员的问答网站。它由 [.. .]" 显然,我确实关心我碰巧遇到的帖子的质量。我指出,如何改进你的。至于你的最终结论:如果你使用像 DebugView 这样的工具,你不需要知道你的任何发现。如果您决定使用更合适的工具,例如 ATL/MFC 跟踪工具,这些都是相关的。
    • 实际上直到最后一条消息你才指出如何“改进”我的帖子。而且您仍然没有任何见解-我知道-cmets如何有用。至于我的最终结论,我一开始并不知道。我断言,列出我的发现可能对将来的某人有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    相关资源
    最近更新 更多