不幸的是,如果确切地说这种情况在几天或一周之前停止工作很难确定...
但我们软件的许多TRACE
语句 - 可归结为ATL::CTraceFileAndLineInfo(__FILE__, __LINE__)
- 不再生成VS 2013 Update 4调试器输出窗口的输出。
我在那里得到一些输出 - 第一个例外,线程存在,DLL加载和放大器卸载等等......我们的踪迹中没有任何东西。
我最近更新了项目以恢复使用v120_xp工具集 - 但是当我对我们之前版本的软件进行双重检查时 - 我可以看到我们的项目完全相同(我之前的项目没有这样的问题)。
当然我干净了(我的批处理脚本比VS2013中的干净构建目标更彻底)。
通过调用追踪到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调试窗口的能力吗?之前是否有人(谁知道如何解决)?
更新:美国东部标准时间5/18 5:07 "修复"选项 - 没有帮助 干净 - 没有帮助 重启 - 没有帮助 浏览了所有调试选项(已经正确 - 并切换它们/将输出移动到即时窗口) - 没有帮助 运行其他项目 - 也没有输出
...下载卸载VS2013 ......
2015年10月12日更新:没有任何效果。该项目的跟踪继续在其他计算机上运行。我不得不从头开始重新安装Windows,然后它恢复了工作。
项目从未改变过。但那台PC上的东西停止了工作。谁知道?!
答案 0 :(得分:1)
第一个猜测: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 $ bug报告。
列出您所获得的更新可能会提供有关已发生变化的一些想法。
Resettings VS settings然后重新启动VS(如果重置没有这样做,那么在关闭VS之后从源树中删除任何.user
和.suo
文件会有所帮助,如果这是新的-code-old-config-type搞砸了。
答案 1 :(得分:0)
2015年10月12日更新:没有任何效果。该项目的跟踪继续在其他计算机上运行。我不得不从头开始重新安装Windows,然后它恢复了工作。
项目从未改变过。但那台PC上的东西停止了工作。谁知道?!