我的程序适用于 windows xp。我正在尝试添加更多功能并OutputDebugString()用于显示一些调试信息。在 XP 上完美运行。现在,当我想在 Windows 7x64 上使用相同的程序时。我没有看到任何输出DebugView。
F1! F1! F1!
我的程序适用于 windows xp。我正在尝试添加更多功能并OutputDebugString()用于显示一些调试信息。在 XP 上完美运行。现在,当我想在 Windows 7x64 上使用相同的程序时。我没有看到任何输出DebugView。
F1! F1! F1!
很抱歉重新提出一个老问题,但我们花了几天时间在互联网上搜索来回答这个问题,最终记录了一个连接呼叫。我在这里发帖是为了帮助遇到同样情况的其他人。我们的具体问题是在调试 x64 混合模式应用程序时,在调试输出窗口中从 OutputDebugString、MFC TRACE 等获取输出。
根据微软的说法,显然对于调试 x64 混合模式应用程序,“自动”的调试器类型(在“调试”->“调试器类型”属性页中设置)默认为托管而不是混合。这需要明确设置为“混合”,以便在调试 64 位构建时看到托管和本机调试输出。
这可能会或可能不会起作用的原因有很多。我不小心禁用了这个——这里是你需要检查的所有东西才能让它工作:
Output调试输出文本是否从窗格重定向到Immediate窗格,因此您看不到它?要关闭它:
DebugOptions and Settings[ ] Redirect all Output Windows text to the Immediate Window窗格是否Output可见?
DebugWindowsOutput在Output窗格中您是否已Program Output 启用?
DebugWindowsOutput[x] Program Output你Debugging Type选对了吗?
Solution Explorer(查看 > 解决方案资源管理器)窗格中PropertiesDebuggingDebugging Type: 从Auto变为 要么Native要么Mixed调试器是否在程序启动之前尝试连接?要Attach 关闭:
Solution Explorer(查看 > 解决方案资源管理器)窗格中PropertiesDebuggingAttach: 改成No你在用OutputDebugStringW()吗?尝试OutputDebugStringA()改用。
最后,您是否以调试模式启动程序?:-) 嘿,你永远不知道!
DebugStart Debugging (F5)我之前没有看过一个完整的列表,所以以上是我必须验证的所有内容是否正确设置。
3个小建议: