2010-05-06 17 views
6

In Visual Studio 2010 volte quando voglio ottenere il valore di una variabile durante il debug, mi dice che essa "non esiste in questo contesto" quando lo fa, ovviamente.Perché Visual Studio 2010 dice che non può mostrare una variabile durante il debug?

ho scoperto che se uso variabile, come nel schermata seguito, quindi è in grado di mostrare.

Qualcuno ha provato questo? Visual Studio 2008 non l'ha mai fatto.

Come è possibile che Visual Studio 2010 mostri sempre i valori delle variabili durante il debug?

alt text http://www.deviantsart.com/upload/jcnr1s.png

+0

Domanda stupida. Il metodo helper non sta usando LINQ? –

+0

Quale linguaggio/ambiente (ASP.NET?) Esegui il debug? Ti sei collegato al processo dopo che era già in esecuzione? (Il JIT .NET potrebbe essere compilato in modo diverso quando non è collegato un debugger). –

+0

* fileNames * viene ottimizzato perché in realtà non si fa nulla con esso. Quando ho usato le variabili nello stesso modo (cioè è lì solo per scopi di debug), lo seguo con un * Console.Write (fileNames.Count) * (o un Debug.Write) solo per assicurarmi che sia "usato" . – slugster

risposta

4

azzardare un'ipotesi ..

Potrebbe essere che la vostra esecuzione in modalità di rilascio e la variabile è stato ottimizzato fuori? Una volta che si utilizza effettivamente il valore, non è più possibile ottimizzare il valore?

+0

Puoi persino usare il debugger in modalità Release? – Chris

+0

hai scommesso! Cambiare la configurazione della build in "Release" e premere F5 - dovrebbe comunque essere eseguita, sebbene YMMV con ottimizzazioni abilitate. Sto solo indovinando quello che potrebbe essere ciò che è visto qui. –

+0

Lontano ... la tua idea sembra piuttosto probabile allora. – Chris

1

GetListOfFileNames() posticipa l'esecuzione? Prova ad attaccare .ToList() su di esso.

Problemi correlati