我正在使用Visual Studio 2015作为IDE开发gcc应用程序。调试器是gdb。
应用程序创建自己的窗口。当我使用DEBUG开关编译时,我需要应用程序也生成一个控制台窗口。它用于从多个线程调试和输出printf。感谢“-mwindows”开关,当我从Visual Studio外部执行应用程序时,这可以正常工作。
不幸的是,当我从Visual Studio中运行应用程序时,它似乎窃取了控制台窗口。没有产生控制台,printf的输出被重定向到输出调试窗口。
如果VS控制台实际上正确地打印了“\ n”而不是将它们从输出中剥离,那么这不是什么大问题。一切都打印在同一行,输出变得不可读。尽我所能,我无法让VS在输出调试窗口中插入换行符。我在网上搜索了很多,这个问题似乎有很好的记录,但我找不到令人满意的答案。
此时,这些解决方案中的任何一个都适用于我:
编辑: 理想情况下,解决方案应该是跨平台的,在某种意义上它不应该为WinAPI添加依赖。
EDIT2: “\ t”似乎按预期工作。为什么“\ n”不起作用?我也试过“\ r \ n”无济于事。
答案 0 :(得分:1)
微软Visual Studio的高级PM经理就此问题与我联系。我将其发布为"反馈"在Visual Studio中,大约四个月前(我在这里发布的时间)...
他承认了这个问题,并表示他们将尝试使用Update 3添加对外部控制台的支持。