C++ 为什么TRACE会停止工作?

C++ 为什么TRACE会停止工作?,c++,visual-studio-2013,trace,C++,Visual Studio 2013,Trace,不幸的是,很难确定这到底是什么时候停止工作的。。。几天前或者一周前 但是我们的软件的许多跟踪语句——它们归结为ATL::CTraceFileAndLineInfo()不再产生VS 2013 Update 4调试器输出窗口的输出 我在那里得到了一些输出——第一次机会异常、线程存在、DLL加载和卸载等。。。从我们的痕迹中什么都没有 我最近更新了项目,恢复使用v120_xp工具集——但当我仔细检查我们以前版本的软件时,我可以看到我们的项目完全相同(我对以前的项目没有这样的问题) 当然,我做了一个清理(

不幸的是,很难确定这到底是什么时候停止工作的。。。几天前或者一周前

但是我们的软件的许多
跟踪
语句——它们归结为
ATL::CTraceFileAndLineInfo(
)不再产生VS 2013 Update 4调试器输出窗口的输出

我在那里得到了一些输出——第一次机会异常、线程存在、DLL加载和卸载等。。。从我们的痕迹中什么都没有

我最近更新了项目,恢复使用v120_xp工具集——但当我仔细检查我们以前版本的软件时,我可以看到我们的项目完全相同(我对以前的项目没有这样的问题)

当然,我做了一个清理(我有一个比VS2013中的清理构建目标更彻底的批处理脚本)

正在跟踪对运算符()的调用。。。深入到十几个层次:

_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()
除此之外,我进入了反汇编,对遵循逻辑失去了兴趣。但当我们开始输出DebutDebugString()时,我们已经经历了所有的干预级别,我们真的要求Windows输出消息。。。但事实并非如此

这也回避了一个问题:什么改变了

我已经研究了几个版本的源代码管理,并与去年的代码库进行了比较,我没有发现任何新的/相关的内容

上周四有一个Windows更新

…是否有其他人突然失去了查看VS2013调试窗口的跟踪输出的能力?以前有没有人遇到过这种情况(谁知道如何解决)


更新:美国东部时间5月18日下午5:07 “修复”选项-没有帮助 干净-没有帮助 重新启动-没有帮助 浏览了所有的调试选项(已经正确了-并切换它们/将输出移动到即时窗口)-没有帮助 正在运行其他项目-也没有输出

。。。下一步是卸载VS2013



2015年12月10日更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装Windows,然后它恢复工作

这些项目从未改变。但是那台电脑上的某些东西停止了工作。谁知道

第一个猜测:。(但如果调用了
OutputDebugStringW
,则不太可能)

您可以检查API本身是否与一起工作,以查看问题是在系统API中还是在VS中

在VS中提到了一些相关选项。 我还没有找到任何M$bug报告

列出你得到的更新可能会提供一些关于变化的想法


然后重新启动VS(加上在关闭VS后从源代码树中删除任何
.user
.suo
文件,如果重置没有这样做),如果这是一个新代码旧配置类型的错误,则会有所帮助。

10/12/2015更新:没有任何工作。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装Windows,然后它恢复工作


这些项目从未改变。但是那台电脑上的某些东西停止了工作。谁知道

这是版本控制系统非常方便的时候!然后你可以回去看看它最后一次工作是什么时候,你改变了什么使它停止工作……它到处都坏了吗?VS最近升级了吗?原始/重建的旧版本软件是否有效?Visual Studiio-工具、选项、调试、输出窗口-检查是否有Visual Studio将调试输出路由到输出窗口。在started Out of debugger(Visual Studio或其他)中,您可以检查生成的输出是否由DebugView捕获(这将证明应用程序是好的,而Visual Studio设置不是)。MatsPetersson我们确实使用了Vault-我对一些签入进行了详细比较,以查看是否有任何事情似乎是由它引起的:不。ivan_pozdeev我不确定VS2013中的任何组件是否从上周四更新。罗曼。“所有调试输出”处于打开状态,异常消息处于打开状态,等等。刚刚返回到去年的代码库-编译并运行-无调试输出(在VS2013中捕获)。因此,我的系统/VS2013上的某些东西,而不是代码库中的东西应该受到责备……也许这与跟踪级别有关,从VS2013开始,您需要从应用程序内部设置它:Huh-dbgview是静默的。空的窗户就在那里。。。我假设正常情况下,各种调试输出都应该显示在那里。。。好的-一旦我从进程中分离VS2013,我就会看到调试输出。所以我们还在输出。。。但是VS2013已经无法处理输出(或者其中有一个设置被破坏了)好吧,所以,它在猜测VS内部发生了什么。是的,一定是这样。我没有更改VS2013中的任何设置-绝对没有-因此它停止了自己的工作-无论是从系统更新,还是从内部组件配置错误,或类似的。如果只是戳它不起作用,我可能不得不重新安装。