为什么 TRACE 会停止运行?
Why would TRACE stop functioning?
不幸的是,很难确定这个停止工作的确切时间......可能是几天或一周前......
但我们软件的许多 TRACE
语句 - 归结为 ATL::CTraceFileAndLineInfo(__FILE__, __LINE__)
- 不再产生输出到 VS 2013 Update 4 调试器输出 window。
我在那里得到了一些输出 - 第一次异常、线程存在、DLL 加载和卸载等,...我们的跟踪中什么也没有。
我最近更新了项目以恢复使用 v120_xp 工具集 - 但是当我仔细检查我们以前版本的软件时 - 我可以看到我们的项目完全相同(而且我没有这样的问题与以前的项目)。
当然我做了一个clean(我有一个批处理脚本,比VS2013中的clean构建目标更彻底)。
通过对 operator() 的调用进行跟踪...深入到十几个级别:
_CRTIMP int __cdecl _VCrtDbgReportW
(
int nRptType,
void * returnAddress,
const wchar_t * szFile,
int nLine,
const wchar_t * szModule,
const wchar_t * szFormat,
va_list arglist
);
最终终止于
OutputDebugStringW()
除此之外,我开始反汇编,我对遵循逻辑失去了兴趣。但是当我们到达 OutputDebugString() 时,我们已经完成了所有的中间级别,我们真的要求 Windows 输出消息......它只是不这样做。
这也引出了一个问题:发生了什么变化?
我查看了几个版本的源代码控制,并与去年的代码库进行了比较,但没有发现任何新的/相关的内容。
上周四有 Windows 更新....
...有没有其他人突然无法看到他们的 TRACE 输出到 VS2013 调试 window?有没有人遇到过这种情况(谁知道怎么解决)?
更新时间:美国东部时间 5 月 18 日 5:07PM
"Repaired" 选项 - 没有帮助
清洁 - 没有帮助
重启 - 没有帮助
遍历所有调试选项(已经正确 - 并切换它们/将输出移动到即时 window) - 没有帮助
运行 其他项目 - 也没有输出
...下一步是卸载 VS2013...
2015 年 10 月 12 日更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装 Windows,然后它恢复了工作。
项目从未改变。但是那台电脑上的某些东西停止工作了。谁知道?!
第一个猜测:you stopped linking against a debug version of MFC。 (但如果 OutputDebugStringW
被调用,那不太可能)
您可以检查API本身是否与DbgView一起工作,看看问题是在系统API还是在VS
Visual Studio output window is not displaying messages sent by Debug.Write() 提到了 VS 中的一些相关选项。
我还找不到任何 M$ 错误报告。
列出您获得的更新可能会提供一些关于更改内容的想法。
Resettings VS settings 然后重新启动 VS(如果重置没有这样做,则在关闭 VS 后从源代码树中删除任何 .user
和 .suo
文件)可以帮助如果这是新代码旧配置类型搞砸了。
2015 年 10 月 12 日更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装 Windows,然后它恢复了工作。
项目从未改变。但是那台电脑上的某些东西停止工作了。谁知道?!
不幸的是,很难确定这个停止工作的确切时间......可能是几天或一周前......
但我们软件的许多 TRACE
语句 - 归结为 ATL::CTraceFileAndLineInfo(__FILE__, __LINE__)
- 不再产生输出到 VS 2013 Update 4 调试器输出 window。
我在那里得到了一些输出 - 第一次异常、线程存在、DLL 加载和卸载等,...我们的跟踪中什么也没有。
我最近更新了项目以恢复使用 v120_xp 工具集 - 但是当我仔细检查我们以前版本的软件时 - 我可以看到我们的项目完全相同(而且我没有这样的问题与以前的项目)。
当然我做了一个clean(我有一个批处理脚本,比VS2013中的clean构建目标更彻底)。
通过对 operator() 的调用进行跟踪...深入到十几个级别:
_CRTIMP int __cdecl _VCrtDbgReportW
(
int nRptType,
void * returnAddress,
const wchar_t * szFile,
int nLine,
const wchar_t * szModule,
const wchar_t * szFormat,
va_list arglist
);
最终终止于
OutputDebugStringW()
除此之外,我开始反汇编,我对遵循逻辑失去了兴趣。但是当我们到达 OutputDebugString() 时,我们已经完成了所有的中间级别,我们真的要求 Windows 输出消息......它只是不这样做。
这也引出了一个问题:发生了什么变化?
我查看了几个版本的源代码控制,并与去年的代码库进行了比较,但没有发现任何新的/相关的内容。
上周四有 Windows 更新....
...有没有其他人突然无法看到他们的 TRACE 输出到 VS2013 调试 window?有没有人遇到过这种情况(谁知道怎么解决)?
更新时间:美国东部时间 5 月 18 日 5:07PM "Repaired" 选项 - 没有帮助 清洁 - 没有帮助 重启 - 没有帮助 遍历所有调试选项(已经正确 - 并切换它们/将输出移动到即时 window) - 没有帮助 运行 其他项目 - 也没有输出
...下一步是卸载 VS2013...
2015 年 10 月 12 日更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装 Windows,然后它恢复了工作。
项目从未改变。但是那台电脑上的某些东西停止工作了。谁知道?!
第一个猜测:you stopped linking against a debug version of MFC。 (但如果 OutputDebugStringW
被调用,那不太可能)
您可以检查API本身是否与DbgView一起工作,看看问题是在系统API还是在VS
Visual Studio output window is not displaying messages sent by Debug.Write() 提到了 VS 中的一些相关选项。 我还找不到任何 M$ 错误报告。
列出您获得的更新可能会提供一些关于更改内容的想法。
Resettings VS settings 然后重新启动 VS(如果重置没有这样做,则在关闭 VS 后从源代码树中删除任何 .user
和 .suo
文件)可以帮助如果这是新代码旧配置类型搞砸了。
2015 年 10 月 12 日更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装 Windows,然后它恢复了工作。
项目从未改变。但是那台电脑上的某些东西停止工作了。谁知道?!