Как перенаправить вывод из отладчика Visual Studio? - PullRequest
12 голосов
/ 06 апреля 2010

В Visual Studio 2008 я могу указать сообщение, которое будет напечатано при достижении точки останова (щелкнув правой кнопкой мыши точку прерывания и выбрав «При нажатии ...»). Когда программа запускается, эти сообщения появляются в окне вывода. Я хотел бы знать, есть ли способ перенаправить их в файл?

Указание >file.txt в качестве аргумента команды для программы не работает: это перенаправляет вывод программы, но не выводит отладчик.

(ПОЭТОМУ поведение, которого я хочу добиться, - это заставить отладчик многократно печатать значение переменной в файл, а не вставлять мой код в операторы printf / cout.)

Ответы [ 3 ]

17 голосов
/ 17 ноября 2014
  1. Установите параметр Перенаправить весь текст окна вывода в окно немедленного действия . Мы находим его в Инструменты Параметры Отладка Общие (с пятого по последний элемент).

  2. Открыть окно немедленного доступа: Ctrl + Alt + I или Отладка Windows Немедленное окно

  3. Введите команду, подобную следующей в окне Immediate:

    > Tools.LogCommandWindowOutput /on C:\mylogfile.txt
    
  4. Чтобы остановить запись в файл, введите следующую команду в окне «Немедленно»:

    > Tools.LogCommandWindowOutput /off
    
4 голосов
/ 03 мая 2010

В Windows 2000, XP, Server 2003 и Vista DebugView будет захватывать:

  • Win32 OutputDebugString
  • Режим ядра DbgPrint
  • Все варианты DbgPrint в режиме ядра, реализованные в Windows XP и Server 2003

DebugView позволяет фильтровать вывод, добавлять метки времени и вести журнал в файл.

Уловка в том, что вам нужно запустить без подключения к отладчику, чтобы DbgView перехватил вывод. (Используйте Ctrl + F5)

0 голосов
/ 06 апреля 2010

Я не знаю, как записать содержимое окна вывода в файл, за исключением написания плагина VS, но вы можете выделить текст в окне вывода и скопировать его в буфер обмена, а затем вставить его в текст файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...