我的程序适用于 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
窗格,因此您看不到它?要关闭它:
Debug
Options and Settings
[ ] Redirect all Output Windows text to the Immediate Window
窗格是否Output
可见?
Debug
Windows
Output
在Output
窗格中您是否已Program Output
启用?
Debug
Windows
Output
[x] Program Output
你Debugging Type
选对了吗?
Solution Explorer
(查看 > 解决方案资源管理器)窗格中Properties
Debugging
Debugging Type
: 从Auto
变为 要么Native
要么Mixed
调试器是否在程序启动之前尝试连接?要Attach
关闭:
Solution Explorer
(查看 > 解决方案资源管理器)窗格中Properties
Debugging
Attach
: 改成No
你在用OutputDebugStringW()
吗?尝试OutputDebugStringA()
改用。
最后,您是否以调试模式启动程序?:-) 嘿,你永远不知道!
Debug
Start Debugging (F5)
我之前没有看过一个完整的列表,所以以上是我必须验证的所有内容是否正确设置。
3个小建议: