2009-06-01 10 views
21

Estoy intentando depurar una aplicación C#. El método:VisualStudio: sin salida de depuración

System.Diagnostics.Debug.WriteLine("something"); 

debe hacer el trabajo, pero en la ventana de resultados (establecido en "depuración" y con todas las opciones activadas) no puedo ver una sola línea que estoy tratando de escribir. ¿Alguna idea? Gracias

EDIT: estoy usando VS2008

+2

¿Estás en la configuración de lanzamiento? –

+0

¿Qué versión de VS? –

Respuesta

24

Hay una opción en Herramientas-Opciones-Depuración-General, redirija todo el texto de la ventana de salida a la ventana Inmediato. Asegúrate de que esté deshabilitado. Sin embargo, por defecto no lo es, así que dudo que ese sea tu problema. También puede verificar su ventana Inmediato para ver si se está produciendo allí.

Es posible que también desee intentar restablecer todas las configuraciones de su entorno. (Herramientas - Importar y Exportar configuración - Restablecer todas las configuraciones.)

+0

Este fue el origen del problema, gracias – pistacchio

+6

Tengo el mismo problema pero 'Herramientas'-'Opciones'-'Debugging' -'General' -'Redirect todo el texto de la ventana de salida 'no funcionó para mí. – scatmoi

+0

Tengo el mismo problema en VS2013. 'Redirigir todo el texto de la ventana de salida a la ventana Inmediato' no estaba marcado, así que lo revisé. Estoy en la configuración de depuración. Todavía tengo el problema. –

9

¿Ha comprobado para asegurarse de que se está compilando en modo de depuración? Si compila en modo Retail/Release, verá este comportamiento.

Debería poder ver esta información en la barra de herramientas de Visual Studio. Habrá un cuadro combinado que dirá Release o Debug. Si dice Liberar, cambia a Depurar.

En ciertas configuraciones de perfil, este cuadro combinado no estará visible de forma predeterminada. Tendrás que acceder a él a través de la página de propiedades del proyecto. Estará en la pestaña de compilación/compilación.

+1

Eso es lo que estaba preguntando en mi comentario, ¡aunque podría haber sido más claro! :) –

2

Debe agregar explícitamente el Console del sistema como TraceListener para que la salida aparezca en la consola. De acuerdo con Microsoft documentation, este código debería hacer el truco. Este es el código C#, pero el enlace que proporcioné contiene ejemplos para los otros lenguajes .NET.

using System; 
using System.Data; 
using System.Diagnostics; 

class Test 
{ 
    static void Main() 
    { 
     Debug.Listeners.Add(new TextWriterTraceListener(Console.Out)); 
     Debug.AutoFlush = true; 
     Debug.Indent(); 
     Debug.WriteLine("Entering Main"); 
     Console.WriteLine("Hello World."); 
     Debug.WriteLine("Exiting Main"); 
     Debug.Unindent(); 
    } 
} 
+0

Hmmm, esto no funciona para mí ... – pistacchio

+0

¿Ha intentado agregar "#define DEBUG" a su archivo fuente? –

+0

también agregando #define DEPURACIÓN no funcionó – pistacchio

3

Además, asegúrese de que su ventana de salida está configurado para mostrar "depuración" de salida en lugar de otra cosa, como salida de "construir".

Debería verlo cargando todos los ensamblados necesarios en la salida "Depurar".

+1

Sí, está en el modo "Depuración" – pistacchio

4

Además de las sugerencias anteriores, consulte las propiedades del proyecto haciendo clic derecho en el nombre del proyecto y seleccionando Propiedades. Una vez que tenga eso arriba, haga clic en pestaña Construir y luego en Botón avanzado en la esquina inferior derecha. Una vez que tenga la ventana Advanced, consulte la sección de salida y la información de depuración :. Cuando se encuentre en modo de depuración, debe establecerse en completo.

+1

+1 para este consejo complicado. No sabía sobre eso. Lamentablemente, esto ya se ha configurado por completo, por lo que mi problema persiste. – scatmoi

21

También vale la pena verificarlo: haga clic con el botón derecho en la ventana de salida y asegúrese de que esté marcada la "Salida del programa".

+2

Está marcado en mi IDE así que este no es mi problema, pero ¡Wow! ¿Cuántos requisitos hay para mostrar un mensaje de depuración? – scatmoi

+3

Esto debería tener más votos, es de lejos el más fácil de perder. –

1

"Habilitar el proceso de alojamiento de Visual Studio" en Propiedades del proyecto -> Depurar resuelto el problema para mí.

2

que tenían el mismo problema, tiene de depuración para mostrar seleccionando:

Depuración -> Windows -> Salida

Sin embargo, mi salida se sigue mostrando ahora, así que supongo vs ocultará depuración hasta que haya es la información real que se está escribiendo.

0

SI utiliza accesos directos, asegúrese de presionar F5 para iniciar el modo de depuración (no Ctrl + F5).

F5 partir Depuración

CTRL + F5 de partida sin depuración

0

Me acabo de encontrar con este problema con Visual Studio 2010 y 2017 y esto es lo que hice para conseguirlo para trabajar y no tengo ninguna explicación de por qué ahora funciona.

Lo que hice para que funcione. Creé un nuevo proyecto de Windows Form y agregué un botón que cuando se presionó se ejecutó Console.WriteLine ("Test"). Vi "Prueba" en la Ventana de Salida. Luego cargué mi proyecto real y agregué un botón para ejecutar Console.WriteLine ("Test") y ahora produjo resultados. Otras instrucciones Console.WriteLine funcionaron a partir de ese momento.

Cuestiones relacionadas