none
debuggare e scrivere da codice in finestra immediata RRS feed

  • Domanda

  • salve!

    premesso che provendo da Vba e Vb6

    come posso far scrivere da codice nella finestra immediata

    se eseguo passo passo il programma

    devo scrivere

    Debug.WriteLine()  o Console.WriteLine()

    grazie

    venerdì 13 marzo 2020 08:24

Risposte

  • in pratica Debug.WriteLine() corrisponde a Debug.Print del VBA
    venerdì 13 marzo 2020 10:29
  • 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.

    venerdì 13 marzo 2020 10:02
    Moderatore

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.

    venerdì 13 marzo 2020 10:02
    Moderatore
  • in pratica Debug.WriteLine() corrisponde a Debug.Print del VBA
    venerdì 13 marzo 2020 10:29