Подтвердить что ты не робот

Visual Studio 2015 "крадет" консоль приложения

Я разрабатываю приложение gcc с использованием Visual Studio 2015 в качестве среды IDE. Отладчик - gdb.

Приложение создает собственное окно. Когда я компилирую с помощью переключателя DEBUG, мне нужно, чтобы приложение также создало консольное окно. Он используется для отладки и вывода printf из нескольких потоков. Благодаря переключателю "-windows" это работает правильно, когда я запускаю приложение извне Visual Studio.

К сожалению, когда я запускаю приложение из Visual Studio, он, кажется, крадет окно консоли. Консоль не создается, и вывод printf перенаправляется в окно вывода отладки.

Это не было бы большой проблемой, если консоль VS фактически напечатала "\n" правильно, а не удаляла их из вывода. Все печатается в одной строке, и выход становится нечитаемым. Попытайтесь, как я могу, я не смог заставить VS вставить новую строку в окне Output Debug. Я много раз искал в Интернете, и эта проблема, похоже, хорошо документирована, но я не мог найти удовлетворительного ответа.

На этом этапе любое из этих решений будет работать для меня:

  • Предотвратить кражу окна консоли приложения Visual Studio;
  • Добавьте специальные символы ко всем моим printf, чтобы сделать фид строк печати отладки вывода и возврат каретки.

РЕДАКТИРОВАТЬ: В идеале решение должно быть перекрестно-пластинчатым, в некотором смысле, что оно не должно зависеть от WinAPI.

EDIT2: "\ t", похоже, работает по назначению. Почему "\n" не работает? Я также попробовал "\ r\n" безрезультатно.

4b9b3361

Ответ 1

С нами связался старший менеджер PM для Visual Studio в Microsoft по этой проблеме. Я разместил его как "обратную связь" внутри Visual Studio, около четырех месяцев назад (примерно в то время, когда я разместил его здесь).

Он признал эту проблему и сказал, что попытается добавить поддержку внешних консолей с помощью обновления 3.