2009-08-18 12 views

risposta

21

Sì, è possibile. Date un'occhiata al seguente post sul blog di Shawn Burke per i dettagli:

Configuring Visual Studio to Debug .NET Framework Source Code

D'altra parte, se si vuole semplicemente controllare come certe cose sono implementate nel framework .NET (senza eseguire il debug), quindi utilizzare .NET Reflector (come menzionato da LorenVS). Questo è uno strumento molto utile che può aiutare molto a capire il framework .NET.

+1

Mi hai battuto allo stesso link del blog di 30 secondi;) –

4

Il modo migliore che posso darvi è utilizzato riflettore .NET dal Redgate. Non puoi entrarci, ma ti darà il codice sorgente completo per varie classi .NET.

+3

in realtà è possibile eseguire il debug con Visual Studio e Reflector. Compreso il passaggio in, punti di interruzione ecc ... vedi http://orand.blogspot.com/2006/10/debugging-with-reflector-and-visual.html ma la risposta che Martin ha dato è più facile nel caso specifico di .net struttura. – olle

1

È possibile utilizzare reflection e ILDASM per esaminare l'IL, ma non penso che sia possibile accedere al codice durante il debug.

2

Recentemente ho eseguito il debugging in VS, che includeva l'acquisizione di alcuni codici sorgente .NET (correlati a OleDB) che potevo inserire e vedere cosa stava succedendo. Una cosa che vorrei menzionare, quando passi al codice sorgente .NET, non ti aspetti che la finestra dei locali (o i suggerimenti sui dati) mostri sempre il valore delle variabili.

Ad esempio, variabili semplici come int, long, string, ecc., Saranno in grado di ottenere il valore di. Ma cerca di ottenere il valore degli oggetti (Lista <>, oggetti personalizzati, DataTable, ecc.) E non riceverai altro che un messaggio che dice che il codice è stato ottimizzato e non puoi vedere i valori.

Anche se si dispone del sorgente .NET, il codice compilato effettivo a cui è collegato è la build di rilascio con le ottimizzazioni abilitate. Ciò significa che gran parte dei dati per variabili e oggetti non è disponibile per l'analisi.

Solo un heads-up.

3

miei 3 centesimi:

  1. Se si dispone di Visual Studio 2008 SP1 o versione successiva, non è necessario installare il QFE accennato nel post del blog Configuring Visual Studio to Debug .NET Framework Source Code
  2. tanto un ventilatore come io lo sono di .NET Reflector, il codice sorgente è migliore perché i nomi e i commenti delle variabili locali sono preservati. Commenti e nomi di variabili appropriati possono aiutare molto!
  3. È possibile scaricare (quasi) tutto il codice sorgente di .NET Framework in una volta utilizzando NetMassDownloader. Ciò diventa molto utile quando ci si trova in un luogo senza accesso a Internet.
+0

+1 Per NetMassDownloader: utilizzando i file di simboli e il sorgente scaricati, può essere utilizzato anche con il debug di Visual Studio 2005. – abhilash

Problemi correlati