2010-04-06 17 views
9

W Visual Studio 2008, mogę określić komunikat do wydrukowania, gdy zostanie uderzony punkt przerwania (klikając prawym przyciskiem myszy punkt przerwania i wybierając opcję "Kiedy Hit ..."). Po uruchomieniu programu komunikaty te pojawiają się w oknie Output. Chciałbym wiedzieć, czy istnieje sposób przekierowania ich do pliku?Jak przekierować dane wyjściowe z debugera Visual Studio?

Określenie >file.txt jako argumentu polecenia dla programu nie działa: to przekierowuje wyjście programu, ale nie debuggera.

(FWIW zachowanie życzę, aby osiągnąć to, aby uzyskać debugera wielokrotnie drukować wartość zmiennej do pliku, zamiast przyprawiając mój kod ze sprawozdania printf/cout.)

Odpowiedz

4

W systemie Windows 2000, XP, Server 2003 i Vista DebugView przechwyci:

  • Win32 OutputDebugString
  • Kernel-mode DbgPrint
  • Wszystkie warianty kernel-mode DbgPrint realizowane w systemie Windows XP i Server 2003

DebugView pozwala filtrować dane wyjściowe, dodawać znaczniki czasu i logować do pliku.

Połów jest, musisz uruchomić bez dołączania do debuggera, aby DbgView przechwycił dane wyjściowe. (Użyj Ctrl + F5)

+1

jaki jest sens w nie za pomocą debugera, jeśli wyjście jest generowane przez pułapki? – Karsten

+1

podczas debugowania aplikacji wrażliwych na czas i sam akt wstrzymania aplikacji zmienia przyszły stan aplikacji. – Carl

+0

nie o to mi chodziło. Pytanie brzmiało, w jaki sposób można przekierować dane wyjściowe debuggera, aby rejestrować tekst tworzony przez punkt przerwania do pliku.Jeśli debugger nie może być użyty, żadne punkty przerwania nie wygenerują tekstu. – Karsten

0

nie wiem o tematyce sposób na zapisanie zawartości okna wyjściowego do pliku krótkiego od napisania wtyczki VS, ale można zaznaczyć tekst w oknie wyjściowym i skopiować go do schowka, a następnie wkleić go do pliku tekstowego.

13
  1. Ustaw opcję Przekierowanie cały tekst do okna wyjściowego oknie Immediate. Znajdziemy go w Narzędzia → Opcje → DebugowanieOgólne (od piątej do ostatniej pozycji).

  2. otworzyć okno Immediate: Ctrl + Alt + I lub Debugsystemu WindowsNatychmiastowe Okno

  3. Wpisz polecenie jak poniżej w oknie Immediate:

    > Tools.LogCommandWindowOutput /on C:\mylogfile.txt 
    
  4. Aby zatrzymać zapisywanie do pliku, wpisz następujące polecenie w oknie Immediate:

    > Tools.LogCommandWindowOutput /off 
    
+0

Znakomita sztuczka! –

+0

Dzięki, ale po wklejeniu polecenia '/ on' do natychmiastowego okna otrzymuję komunikat:" Wyrażenie nie może być ocenione w trybie projektowania. Jakieś pomysły? –

+1

W oknie bezpośrednim polecenia muszą być poprzedzone prefiksem ">" (w przeciwnym razie jest ono traktowane jako wyrażenie w kontekście debugowanego procesu, a nie polecenia Visual Studio) – Ramkumar

Powiązane problemy