Visual Studio 2015"窃取"应用程序的控制台

Mar*_*eau 13 c debugging gcc console-application visual-studio-2015

我正在使用Visual Studio 2015作为IDE开发gcc应用程序.调试器是gdb.

应用程序创建自己的窗口.当我使用DEBUG开关编译时,我需要应用程序也生成一个控制台窗口.它用于从多个线程调试和输出printf.感谢"-mwindows"开关,当我从Visual Studio外部执行应用程序时,这可以正常工作.

不幸的是,当我从Visual Studio中运行应用程序时,它似乎窃取了控制台窗口.没有生成控制台,printf的输出被重定向到Output Debug窗口.

如果VS控制台实际上正确地打印了"\n"而不是将它们从输出中剥离出来,那么这将不是什么大问题.一切都打印在同一行,输出变得不可读.尽我所能,我无法让VS在输出调试窗口中插入换行符.我在网上搜索了很多,这个问题似乎有很好的记录,但我找不到令人满意的答案.

在这一点上,这些解决方案中的任何一个都适合我:

  1. 防止Visual Studio窃取应用程序的控制台窗口;
  2. 为我的所有printf添加特殊字符,以便使Output Debug打印换行和回车.

编辑: 理想情况下,解决方案应该是跨平台的,从某种意义上说它不应该添加依赖于WinAPI.

编辑2: "\ t"似乎按预期工作.为什么"\n"不起作用?我也试过"\ r \n"无济于事.

Mar*_*eau 1

Microsoft 的 Visual Studio 高级 PM 经理就此问题联系了我。大约四个月前,我将其作为 Visual Studio 内的“反馈”发布(大约是我在此处发布它的时间)。

他承认了这个问题,并表示他们将尝试通过 Update 3 添加对外部控制台的支持。