我的程序适用于windows xp . 我试图添加一些更多的功能,并使用 OutputDebugString() 来显示一些调试信息 . 在XP上完美运行 . 现在我想在Windows 7x64上使用相同的程序 . 我在 DebugView 看不到任何输出 .
OutputDebugString()
DebugView
F1! F1! F1!
F1!
3个小建议:
确保您实际捕获事件(顶部菜单 - >捕获 - >捕获win32已标记)
如果程序运行的完整性较低(在运行时它会发出安全警告),则还需要以低完整性运行调试视图 . 为此,您需要在运行之前更改dbgview.exe的完整性级别 .
如果您正在使用visual studio并使用调试器运行(按下F5),则调试输出实际上由visual studio捕获(在输出窗口中) . 尝试使用ctrl f5运行程序 .
很抱歉恢复了一个旧问题,但我们花了几天时间在互联网上搜索这个问题并最终结束了连接通话 . 我在这里张贴以帮助处于同样情况的其他人 . 我们的具体问题是在调试x64混合模式应用程序时,在调试输出窗口中获取OutputDebugString,MFC TRACE等的输出 .
根据微软的说法,显然对于调试x64混合模式应用程序,调试器类型“auto”(在Debugging-> Debugger Type属性页面中设置)默认为managed而不是mixed . 在调试64位版本时,需要将托管和本机调试输出显式设置为“混合” .
这可能有效或无效的原因有很多 . 我不小心禁用了这个 - 这里有你需要检查的所有东西:
调试输出文本是否从 Output 窗格重定向到 Immediate 窗格,因此您没有看到它?转此 off:
Output
Immediate
Debug
Options and Settings
[ ] Redirect all Output Windows text to the Immediate Window
Output 窗格是否可见?
Windows
在 Output 窗格中你有 Program Output enabled?
Program Output
右键单击窗格内的任意位置
[x] Program Output
你有没有选择 Debugging Type ?
Debugging Type
在 Solution Explorer (“查看”>“解决方案资源管理器”)窗格中
Solution Explorer
右键单击您的项目
Properties
Debugging
Debugging Type :从 Auto 更改为 Native 或 Mixed
Auto
Native
Mixed
调试器是否在程序启动之前尝试连接?转 Attach off:
Attach
右键单击您的项目,
Attach :更改为 No
No
您使用的是 OutputDebugStringW() 吗?请尝试使用 OutputDebugStringA() .
OutputDebugStringW()
OutputDebugStringA()
最后,你是否在调试模式下启动程序? :-)嘿,你永远都不知道!
Start Debugging (F5)
之前我还没有看到一个全面的列表,所以我必须验证的所有内容都已正确设置 .
3 回答
3个小建议:
确保您实际捕获事件(顶部菜单 - >捕获 - >捕获win32已标记)
如果程序运行的完整性较低(在运行时它会发出安全警告),则还需要以低完整性运行调试视图 . 为此,您需要在运行之前更改dbgview.exe的完整性级别 .
如果您正在使用visual studio并使用调试器运行(按下F5),则调试输出实际上由visual studio捕获(在输出窗口中) . 尝试使用ctrl f5运行程序 .
很抱歉恢复了一个旧问题,但我们花了几天时间在互联网上搜索这个问题并最终结束了连接通话 . 我在这里张贴以帮助处于同样情况的其他人 . 我们的具体问题是在调试x64混合模式应用程序时,在调试输出窗口中获取OutputDebugString,MFC TRACE等的输出 .
根据微软的说法,显然对于调试x64混合模式应用程序,调试器类型“auto”(在Debugging-> Debugger Type属性页面中设置)默认为managed而不是mixed . 在调试64位版本时,需要将托管和本机调试输出显式设置为“混合” .
这可能有效或无效的原因有很多 . 我不小心禁用了这个 - 这里有你需要检查的所有东西:
调试输出文本是否从
Output
窗格重定向到Immediate
窗格,因此您没有看到它?转此 off:Debug
Options and Settings
[ ] Redirect all Output Windows text to the Immediate Window
Output
窗格是否可见?Debug
Windows
Output
在
Output
窗格中你有Program Output
enabled?Debug
Windows
Output
右键单击窗格内的任意位置
[x] Program Output
你有没有选择
Debugging Type
?在
Solution Explorer
(“查看”>“解决方案资源管理器”)窗格中右键单击您的项目
Properties
Debugging
Debugging Type
:从Auto
更改为Native
或Mixed
调试器是否在程序启动之前尝试连接?转
Attach
off:在
Solution Explorer
(“查看”>“解决方案资源管理器”)窗格中右键单击您的项目,
Properties
Debugging
Attach
:更改为No
您使用的是
OutputDebugStringW()
吗?请尝试使用OutputDebugStringA()
.最后,你是否在调试模式下启动程序? :-)嘿,你永远都不知道!
Debug
Start Debugging (F5)
之前我还没有看到一个全面的列表,所以我必须验证的所有内容都已正确设置 .