OutputDebugString()在Windows 7x64上不起作用

vrr*_*hod 7 outputdebugstring windows-7-x64

我的程序适用于windows xp.我试图添加一些更多的功能,并OutputDebugString()用于显示一些调试信息.在XP上完美运行.现在我想在Windows 7x64上使用相同的程序.我没有看到任何输出DebugView.

F1! F1! F1!

小智 12

很抱歉恢复了一个旧问题,但我们花了几天时间在互联网上搜索这个问题并最终结束了连接通话.我在这里发帖是为了帮助处于同样情况的其他人.我们的具体问题是在调试x64混合模式应用程序时,在调试输出窗口中获取OutputDebugString,MFC TRACE等的输出.

根据微软的说法,显然对于调试x64混合模式应用程序,调试器类型"auto"(在Debugging-> Debugger Type属性页面中设置)默认为managed而不是mixed.在调试64位版本时,需要将托管和本机调试输出显式设置为"混合".


Mic*_*007 7

这可能会或可能不会起作用的原因有很多。我不小心禁用了此功能 - 以下是您需要检查的所有内容才能使其正常工作:

  1. 调试输出文本是否从Output窗格重定向到Immediate窗格,因此您没有看到它?要关闭此功能

    • Debug
    • Options and Settings
    • [ ] Redirect all Output Windows text to the Immediate Window
  2. Output窗格是否可见?

    • Debug
    • Windows
    • Output
  3. Output窗格中是否已Program Output 启用?

    • Debug
    • Windows
    • Output
    • 右键单击窗格内的任意位置
    • [x] Program Output
  4. Debugging Type选对了吗?

    • Solution Explorer(视图 > 解决方案资源管理器)窗格中
    • 右键单击您的项目
    • Properties
    • Debugging
    • Debugging Type: 更改Auto为任一NativeMixed
  5. 调试器是否在程序启动之前尝试连接?要Attach 关闭:

    • Solution Explorer(视图 > 解决方案资源管理器)窗格中
    • 右键单击您的项目,
    • Properties
    • Debugging
    • Attach: 改成 No
  6. 你在用OutputDebugStringW()吗?尝试使用OutputDebugStringA()

  7. 最后,您是否在调试模式下启动程序?:-) 嘿,你永远不知道!

    • Debug
    • Start Debugging (F5)

我之前没有看到一个完整的列表,所以以上是我必须验证的所有设置是否正确。