在 Windows 上调试时 stderr 去了哪里?
当尝试在 Windows 上调试程序时,我似乎无法找到推送到 stderr 的输出的去向。如何获取 stderr 输出?是否可以更改调试器级别设置(MSVC 9)以将 stderr 重定向到 UI 的某些部分?
更新:我还没有研究 TRACE
或 OutputDebugString
,但代码库是跨平台的,因此特定于平台的 API 虽然不是完全不可能,但是次要的符合标准的解决方案。
When trying to debug a program on Windows I can't seem to find where the output I push to stderr is going. How do I get a hold of my stderr output? Is there a debugger-level setting (MSVC 9) I can change to redirect stderr to some part of the UI?
Update: I have not looked into TRACE
or OutputDebugString
, but the code base is cross-platform, so platform-specific APIs, while not totally off the table, are secondary to a standards-compliant solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种方法,使用文件:
http://msdn.microsoft .com/en-us/library/aa236457(VS.60).aspx
Another approach, using files:
http://msdn.microsoft.com/en-us/library/aa236457(VS.60).aspx
当您有 GUI 进程时,stderror 应该显示在 Visual Studio 的输出窗口中。如果您希望输出到那里,您可以打开一个新的控制台窗口。查看输出。有关详细信息,请参阅我对此问题的回答。
When you have a GUI process stderror should show up in the output window in visual studio. You can open a new console window if you want to have the output go there.look at the output. See my answer to this question. for details.