2012-04-19 11 views
14

¿Hay alguna manera de capturar stdout y stderr en Visual Studio? Por ejemplo, cuando uso¿Hay alguna forma de capturar stderr y stdout en Visual Studio?

cout <<"Hello world!"<< endl; 

Aparece y desaparece una ventana negra. Es tan rápido que no puedo verlo. Hay una sección de salida en el IDE, pero solo me permite elegir la salida de visualización de build y otra cosa, pero sin la opción de stdout.

Una solución engaño tal vez llamando

system("pause"); 

pero no suena bien. Busqué en la opción pero no puedo encontrar un artículo.

¿Alguien tiene alguna idea? Gracias. Solo empiezo a usar VS y estoy en Linux antes.

+0

Eche un vistazo a las respuestas aquí: http://stackoverflow.com/questions/1343320/when-debugging-on-windows-where-does-stderr-go –

Respuesta

4

En lugar de utilizar el comando "Iniciar depuración", si desea verificar el resultado, use "Iniciar sin depuración". Por lo general, así lo manejo. La ventana del símbolo del sistema permanecerá activa hasta que la cierre. Si se produce un bloqueo o algo así, siempre puede volver a conectar Visual Studio al proceso o simplemente ejecutarlo con "Iniciar depuración".

1

Sin realidad tratando de redirigir los flujos stdin/err, hay algunas alternativas que puede probar:

  • Abra una ventana de símbolo del sistema y cambie al directorio de su ejecutable se creará en la entonces ejecutarlo desde allí .
  • Quizás intente usar algo como std :: cin.get(); o std :: cin.ignore (std :: cin.rdbuf() -> in_avail() + 1); en lugar de sistema ("pausa").
  • Mostrar la salida en el depurador de Visual Studio a través de OutputDebugString
+0

De ninguna manera suena decente, pero gracias de todos modos. No es tu culpa. ¿No se sienten incómodos con este tema? Sólo curioso. – YankeeWhiskey

+0

Cambie el subsistema a la consola como indiqué en mi respuesta. – Iceman

+0

Sabía que había una que me estaba perdiendo, el comentario de Icemans dice que es correcta. – thelazydeveloper

4

Ir al proyecto Propiedades -> Enlazador -> Sistema -> Cambiar el subsistema de consola.

+0

Lo cambié pero la ventana negra sigue apareciendo. ¿Dónde se supone que debo ver el resultado en VS? – YankeeWhiskey

+3

La salida estará en la consola que aparece. No desaparecerá si vas a Debug -> Start without Debugging. – Iceman

Cuestiones relacionadas