2012-04-19 30 views
14

Czy istnieje sposób przechwytywania stdout i stderr w Visual Studio? Na przykład, gdy używamCzy istnieje sposób przechwytywania stderr i stdout w Visual Studio?

Czarne okno pojawia się i znika. Jest tak szybki, że go nie widzę. W IDE jest sekcja wyjściowa, ale pozwala mi ona tylko wybrać wyjście wyświetlania z kompilacji i coś innego, ale bez wyboru standardowego wyjścia.

Cheating rozwiązanie może nazywając

system("pause"); 

ale to nie brzmi dobrze. Szukałem w opcji, ale nie mogę znaleźć przedmiotu.

Ktoś ma jakiś pomysł? Dzięki. Po prostu zacząłem używać VS i jestem na Linuksie wcześniej.

+0

Spójrz na odpowiedzi tutaj: http://stackoverflow.com/questions/1343320/when-debugging-on-windows-where-does-stderr-go –

Odpowiedz

4

Zamiast używać polecenia "Rozpocznij debugowanie", jeśli chcesz sprawdzić dane wyjściowe, użyj "Rozpocznij bez debugowania". Zasadniczo jak sobie z tym radzę. Okno wiersza polecenia pozostanie otwarte do momentu jego zamknięcia. Jeśli wystąpi awaria lub coś takiego, zawsze możesz ponownie dołączyć program Visual Studio do procesu lub po prostu uruchomić go z opcją "Rozpocznij debugowanie".

1

Bez rzeczywiście próbuje przekierować strumień stdin/ERR, istnieją pewne alternatywy można spróbować:

  • Otwórz okno wiersza polecenia i przejdź do katalogu plik wykonywalny zostanie utworzony w uruchom go stamtąd .
  • Być może spróbuj użyć czegoś podobnego do std :: cin.get(); lub std :: cin.ignore (std :: cin.rdbuf() -> in_avail() + 1); zamiast systemu ("pauza").
  • Wyświetlacz wyjściowy w Visual Studio debugera poprzez OutputDebugString
+0

Żadna droga nie brzmi przyzwoicie ale dziękuje w każdym razie. To nie twoja wina. Czy nie czujesz się niedogodny w tej kwestii? Po prostu ciekawy. – YankeeWhiskey

+0

Zmień podsystem na konsolę, tak jak wskazałem w mojej odpowiedzi. – Iceman

+0

Wiedziałem, że był jeden, którego mi brakowało, komentarz Icemansa jest poprawny. – thelazydeveloper

4

idź do projektu Właściwości -> Linker -> System -> Zmień podsystem do konsoli.

+0

Zmieniłem to, ale czarne okno wciąż się podnosiło. Gdzie mam zobaczyć wyjście w VS? – YankeeWhiskey

+3

Wyjście będzie w konsoli, która wyskoczy. Nie zniknie, jeśli przejdziesz do Debugowania -> Uruchom bez debugowania. – Iceman

Powiązane problemy