我的程序适用于windows xp。我正在尝试添加更多功能,并使用OutputDebugString()
来显示一些调试信息。在XP上完美运行。现在我想在Windows 7x64上使用相同的程序。我在DebugView
看不到任何输出。
F1!
F1!
F1!
答案 0 :(得分:12)
很抱歉恢复了一个旧问题,但我们花了几天时间在互联网上搜索这个问题并最终结束了连接通话。我在这里发帖是为了帮助处于同样情况的其他人。我们的具体问题是在调试x64混合模式应用程序时,在调试输出窗口中获取OutputDebugString,MFC TRACE等的输出。
根据Microsoft的说法,显然对于调试x64混合模式应用程序,调试器类型“auto”(在Debugging-> Debugger Type属性页面中设置)默认为managed而不是mixed。在调试64位版本时,需要将托管和本机调试输出显式设置为“混合”。
答案 1 :(得分:4)
3个小建议:
答案 2 :(得分:4)
为什么这可能会或可能不会有多种原因。我不小心禁用了这个 - 以下是您需要检查的所有内容:
调试输出文本是否已从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)
之前我没有看过一份全面的清单,所以我必须验证的所有内容都已正确设置。