2012-10-21 16 views
23

Ho la seguente riga nel mio codice:Perché System.Diagnostics.Debug.WriteLine non funziona in Visual Studio 2010 C#?

System.Diagnostics.Debug.WriteLine("Title:" + title + "title[top]: " + title[top] + "title[sub]: " + title[sub]); 

Quando metto a punto lo vedo andando a questa linea, ma quando guardo la finestra di output in Visual Studio     2010 Io non vedo nulla anche anche se mostra "Debug" e ho usato "debug> run". Perché?

+0

L'esecuzione va * passata * a quella riga o * a * quella riga? 'top' o' sub' potrebbe causare un 'IndexOutOfRangeException' se sono fuori dai limiti dell'array. – Adam

+0

Devo chiedere: questa riga è scritta durante l'avvio? Perché a volte viene scritto dietro una riga scritta dalla libreria .NET stessa e cade fuori dallo schermo. Forse prova a copiare incolla quel codice dalla console nel blocco note e cerca la linea prevista per determinare che non c'è davvero. L'esecuzione di – Silvermind

+0

supera quella linea senza alcun problema. Pensavo che tutto questo funzionasse prima, ma ora non riesco a vedere nulla. –

risposta

15

Controlla i seguenti articoli -

  1. DEBUG modalità è selezionata durante il debug
  2. Debug opzione è selezionata nella finestra di output - enter image description here
  3. Vedi se breakpoint sta colpendo Debug.WriteLine nel codice
  4. Inserire Debug.AutoFlush = true all'inizio del codice
  5. Provare a verificare se la piattaforma per il la soluzione è impostata su Any CPU e non su x86 (o x64).
  6. Goto Progetto Proprietà -> Web - Nella sezione Debugger, controllare l'opzione ASP.NET

di riferimento per Point #5 (leggere il commento, ha funzionato per quel ragazzo)

+0

Viene visualizzato come "Mostra output da debug". Proverò l'opzione flush. –

+1

@Anne - Si prega di consultare anche il punto n. 5 e n. –

+3

Il punto 4 sembra risolverlo. Molte grazie. –

6

Nella tua app .config file, assicurati di non avere un elemento <clear/> nei listener di traccia.

Si cancellerà in modo efficace l'elenco dei listener di traccia, incluso l'ascoltatore di tracce predefinito utilizzato per le istruzioni di debug.

Ecco che cosa questo potrebbe apparire come nel file app.config:

<system.diagnostics> 
    <trace> 
     <listeners> 
      <!-- This next line is the troublemaker. If it is there delete it--> 
      <clear/> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
+0

Per me ho dovuto rimuovere questa riga: ProVega

10

Per me, questo ha risolto il problema:

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

(usando Trace invece di Debug)

+0

Heck sì, ha funzionato anche per me, finalmente. – bargoras

+1

Non funziona per me. Ancora non verrà visualizzato. –

1

Per me, avevo bisogno di fare questo per risolvere il problema:

1. Open the project's property page 
2. Under Build tab, check "Define DEBUG constant" and "Define Trace constant" 

Voilà!

Problemi correlati