【问题标题】:How do I break on debug output in Visual Studio 2013?如何在 Visual Studio 2013 中中断调试输出?
【发布时间】:2016-06-08 10:23:26
【问题描述】:

我在调试输出中不断收到此消息Rect: identifier "posPt" is undefined 数百次,但在我正在调试的代码中找不到它。因此,每当调用以下函数之一时,我都会尝试中断:_CrtDbgReport_CrtDbgReportV_CrtDbgReportW_CrtDbgReportWV,这是我通过深入跟踪代码找到的。我还找到了_CrtDbgReportT_CrtDbgReportTV,但它们似乎没有任何联系,因为我无法在它们上设置断点。

无论如何,它仍然不会中断,因此要么没有调用这些函数而其他一些类似的函数被调用,要么调试器没有获取链接的所有实例。

那么,我的问题是如何找出生成输出的位置?

编辑:该应用程序是 C++ 本机代码,其中链接了多个 DLL。

【问题讨论】:

  • OutputDebugString 最终负责;它可能已被代码直接调用。向该函数添加断点。为误报做好准备。
  • @CodyGray, OutputDebugString 未被识别为链接符号。找到 OutputDebugStringWOutputDebugStringA,但仍然没有中断。

标签: visual-studio debugging visual-studio-2013 visual-studio-debugging


【解决方案1】:

这是不久前的事情,我不知道我是否发现了这个问题。但是,回顾一下,这可能是由一个断点引起的,该断点有一个 Action 要记录到输出窗口,或者引用一个不再存在的变量,或者由于添加/删除的行而移动断点源代码控制程序,将变量移出范围。

鉴于输出 Rect: identifier "posPt" is undefined,该操作将读取为 Rect: {posPt}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    相关资源
    最近更新 更多