Principale utente con più risposte
debuggare e scrivere da codice in finestra immediata

Domanda
-
Risposte
-
in pratica Debug.WriteLine() corrisponde a Debug.Print del VBA
- Proposto come risposta Yordan IvanovMicrosoft contingent staff, Moderator venerdì 13 marzo 2020 10:50
- Contrassegnato come risposta Evgin IsmailMicrosoft contingent staff lunedì 16 marzo 2020 05:49
-
Salve,
Premetto che non capisco la domanda costa fatta da te. Nonostante:
Qual è la differenza tra Console.WriteLine () vs Debug.WriteLine ()
Console.WriteLine scrive nel flusso di output standard, in debug o in versione. Debug.WriteLine scrive gli ascoltatori della traccia nella raccolta Listeners, ma solo quando è in esecuzione nel debug. Quando l'applicazione viene compilata nella configurazione della versione, gli elementi Debug non verranno compilati nel codice.
Mentre Debug.WriteLine scrive a tutti i listener di traccia nella raccolta Listeners, è possibile che questo possa essere emesso in più di un posto (finestra di output di Visual Studio, console, file di registro, applicazione di terze parti che registra un ascoltatore (credo DebugView fa questo), ecc.).
Console.WriteLine () è pensato per i programmi in modalità console. Una bella funzionalità del processo di hosting di Visual Studio fa apparire il suo output nella finestra Output di Visual Studio durante il debug per i processi che non hanno una console. È molto utile durante il debug, ma attenzione che è necessario rimuovere questo codice (o racchiuderlo con un DEBUG #ifdef) quando si è pronti per creare la build di rilascio. Altrimenti aggiungerà spese generali non necessarie al programma. Ciò lo rende meno che ideale per la traccia di debug.
Debug.WriteLine () genera informazioni di traccia se si crea con il condizionale DEBUG #defined. Che è attivo per impostazione predefinita nella build di debug. Dove finisce l'output può essere configurato nel file app.exe.config. Se questa configurazione non viene ignorata, .NET fornisce automaticamente un'istanza della classe DefaultTraceListener. Invia il testo Debug.WriteLine () con la funzione API OutputDebugString () di Windows al debugger. Il debugger di Visual Studio lo fa apparire nella finestra Output, proprio come Console.WriteLine ().
Un chiaro vantaggio di Debug.WriteLine () è che non genera alcun sovraccarico nella build di rilascio, le chiamate vengono effettivamente rimosse. Tuttavia, non supporta la formattazione composita, per questo avrai bisogno di String.Format (). Per la traccia di debug, la classe Debug dovrebbe essere la tua scelta.• Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.
- Proposto come risposta Yordan IvanovMicrosoft contingent staff, Moderator venerdì 13 marzo 2020 10:50
- Contrassegnato come risposta Evgin IsmailMicrosoft contingent staff lunedì 16 marzo 2020 05:49
Tutte le risposte
-
Salve,
Premetto che non capisco la domanda costa fatta da te. Nonostante:
Qual è la differenza tra Console.WriteLine () vs Debug.WriteLine ()
Console.WriteLine scrive nel flusso di output standard, in debug o in versione. Debug.WriteLine scrive gli ascoltatori della traccia nella raccolta Listeners, ma solo quando è in esecuzione nel debug. Quando l'applicazione viene compilata nella configurazione della versione, gli elementi Debug non verranno compilati nel codice.
Mentre Debug.WriteLine scrive a tutti i listener di traccia nella raccolta Listeners, è possibile che questo possa essere emesso in più di un posto (finestra di output di Visual Studio, console, file di registro, applicazione di terze parti che registra un ascoltatore (credo DebugView fa questo), ecc.).
Console.WriteLine () è pensato per i programmi in modalità console. Una bella funzionalità del processo di hosting di Visual Studio fa apparire il suo output nella finestra Output di Visual Studio durante il debug per i processi che non hanno una console. È molto utile durante il debug, ma attenzione che è necessario rimuovere questo codice (o racchiuderlo con un DEBUG #ifdef) quando si è pronti per creare la build di rilascio. Altrimenti aggiungerà spese generali non necessarie al programma. Ciò lo rende meno che ideale per la traccia di debug.
Debug.WriteLine () genera informazioni di traccia se si crea con il condizionale DEBUG #defined. Che è attivo per impostazione predefinita nella build di debug. Dove finisce l'output può essere configurato nel file app.exe.config. Se questa configurazione non viene ignorata, .NET fornisce automaticamente un'istanza della classe DefaultTraceListener. Invia il testo Debug.WriteLine () con la funzione API OutputDebugString () di Windows al debugger. Il debugger di Visual Studio lo fa apparire nella finestra Output, proprio come Console.WriteLine ().
Un chiaro vantaggio di Debug.WriteLine () è che non genera alcun sovraccarico nella build di rilascio, le chiamate vengono effettivamente rimosse. Tuttavia, non supporta la formattazione composita, per questo avrai bisogno di String.Format (). Per la traccia di debug, la classe Debug dovrebbe essere la tua scelta.• Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.
- Proposto come risposta Yordan IvanovMicrosoft contingent staff, Moderator venerdì 13 marzo 2020 10:50
- Contrassegnato come risposta Evgin IsmailMicrosoft contingent staff lunedì 16 marzo 2020 05:49
-
in pratica Debug.WriteLine() corrisponde a Debug.Print del VBA
- Proposto come risposta Yordan IvanovMicrosoft contingent staff, Moderator venerdì 13 marzo 2020 10:50
- Contrassegnato come risposta Evgin IsmailMicrosoft contingent staff lunedì 16 marzo 2020 05:49