visual studio scripts proyecto para modo interrupcion habilitada está este entre encuentra diferencia depurar depuración depuracion debuggear debug configuracion compilacion como chrome cambie aplicacion c# visual-studio-2010 visual-studio debugging

c# - proyecto - la depuración de scripts de chrome en visual studio está habilitada



¿Escribir en la ventana de salida de Visual Studio? (11)

Estoy tratando de escribir un mensaje en la ventana de salida para fines de depuración. Busqué una función como system.out.println("") Java. Intenté Debug.Write , Console.Write y Trace.Write . No da un error, pero tampoco imprime nada.

Las opciones "Definir constante DEBUG" y "Definir constante TRACE" están marcadas.

La opción Herramientas de menú → OpcionesDepuración"Redirigir todo el texto de la ventana de salida a la ventana inmediata" no está marcada.

Configuración: Activa (depuración)

Nota: creé un proyecto con el asistente como "Aplicación de Windows Forms" si es relevante. No tengo idea de dónde mirar.



Esto escribirá en la ventana de salida de depuración:

using System.Diagnostics; Debug.WriteLine("Send to debug output.");


Esto no es una respuesta a la pregunta original. Pero como encontré esta pregunta al buscar un medio para descargar datos de objetos de forma interactiva, pensé que otros podrían beneficiarse al mencionar esta alternativa muy útil.

Finalmente utilicé la ventana de comandos e Debug.Print comando Debug.Print , como se muestra a continuación. Esto imprimió un objeto de memoria en un formato que se puede copiar como texto, que es todo lo que realmente necesitaba.

> Debug.Print <item> id: 1 idt: null igad: 99 igbd: 99 gl_desc: "New #20" te_num: "1-001-001-020"


Esto requiere un marco de trabajo de terceros, a saber, Serilog , pero no obstante, he encontrado que es una experiencia muy fluida para obtener resultados en algún lugar donde pueda verlos.

Primero necesitas instalar el fregadero Trace de Serilog. Una vez instalado, necesita configurar el registrador de esta manera:

Logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Trace() .CreateLogger();

(Puede establecer un nivel mínimo diferente o establecerlo en un valor de configuración o en cualquiera de las funciones normales de Serilog. También puede configurar el registrador de Trace en un nivel específico para anular las configuraciones, o como quiera hacerlo).

Luego simplemente registra los mensajes normalmente y se muestran en la ventana de resultados:

Logger.Information("Did stuff!");

Esto no parece ser tan importante, así que permítame explicarle algunas ventajas adicionales. El más importante para mí fue que podía iniciar sesión simultáneamente en la ventana de resultados y en la consola :

Logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Trace() .WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error) .CreateLogger();

Esto me dio una gran flexibilidad en términos de cómo consumí el resultado, sin tener que duplicar todas mis llamadas a Console.Write con Debug.Write . Al escribir el código, podría ejecutar mi herramienta de línea de comandos en Visual Studio sin temor a perder mi salida cuando salió. Cuando lo había implementado y necesitaba depurar algo (y no tenía Visual Studio disponible), la salida de la consola estaba disponible para mi consumo. Los mismos mensajes también se pueden registrar en un archivo (o cualquier otro tipo de receptor) cuando se ejecuta como una tarea programada.

La conclusión es que usar Serilog para hacer esto hizo que sea realmente fácil volcar los mensajes a una multitud de destinos, asegurando que siempre podría acceder fácilmente a la salida, independientemente de cómo lo ejecuté.

También requiere una configuración y un código muy mínimos.


Imprimir en la ventana de salida de Visual Studio:

Debug.Writeline();


La llamada

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

falla al trabajar con .NET Core (V 1.0 o 1.1).

Se supone que debemos crear y usar un registrador de Microsoft.Extensions.Logging , pero ese registro solo aparece en la ventana de la consola emergente dotnet.exe, no en la ventana de resultados de Visual Studio.


Lo siguiente me funcionó en Visual Studio 2015 :

OutputDebugStringW(L"Write this to Output window in VS14.");

Lea la documentación de OutputDebugStringW here .

Tenga en cuenta que este método solo funciona si está depurando su código ( debug mode )


Para mí, solo el espacio de nombres Trace y no el de depuración funcionó:

System.Diagnostics.Trace.WriteLine("message");

Estoy trabajando en un proyecto de C # en Visual Studio 2010.


Usted puede estar buscando

MessageBox.Show()

o

Debug.Writeline()


Utilizar:

System.Diagnostics.Debug.WriteLine("your message here");


Debug.WriteLine

es lo que buscas.

Si no, trata de hacer esto:

Herramientas de menú → OpcionesDepuración → deseleccionar Enviar salida a Inmediato .