gpt4 book ai didi

c++ - 为什么 TRACE 会停止运行?

转载 作者:太空狗 更新时间:2023-10-29 23:01:48 25 4
gpt4 key购买 nike

不幸的是,很难确定它何时停止工作......也许是几天前或一周前......

但我们软件的许多 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 更新......

...有没有其他人突然无法在 VS2013 调试窗口中看到他们的 TRACE 输出?以前有没有人遇到过这种情况(谁知道如何解决)?


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

...下一步是卸载 VS2013...


10/12/2015 更新:没有任何效果。该项目的跟踪继续在其他机器上工作。我不得不从头开始重新安装 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 文件)如果这是一个新的-code-old-config-type 搞砸了。

关于c++ - 为什么 TRACE 会停止运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30310451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com