Utilizzando Visual Studio, dopo aver eseguito il collegamento a un processo e aver fatto Pausa (Break-All), si passa al thread desiderato e si utilizza la finestra Quick Watch per controllare alcuni dati, ad esempioDebug durante la pausa e 'impossibile valutare l'espressione'
MySingletonClass.Instance.Data
volte mi sia ottengo questo:
Impossibile valutare l'espressione perché il thread corrente è in un sonno, aspetta, o partecipare
o questo (quando si tenta di visualizzare determinate proprietà dei dati):
Impossibile valutare l'espressione perché una cornice nativa si trova in cima allo stack di chiamate.
Abbastanza francamente, non mi interessa, voglio solo vedere i dati! So che ci sono diversi modi per aggirare questo, vale a dire:
- Impostare un punto di interruzione sul filo e in attesa fino a che non viene colpito (ingombrante, non sempre possibile)
- Facendo una discarica del processo e di carico posteriore in VS (anche allora ho ancora ottenere il 2 ° errore)
- windbg
dato poteva visualizzare questi dati se presumibilmente usato windbg perché è che tutti noi non possiamo approfittare del molto più facile e VS più grazioso per ispezionare oggetti quando a collegando a un processo?
Nella maggior parte dei casi, ho visto è dovuto a metodi a lunga esecuzione, ad esempio query SQL. – leppie