Aggiornamento 22 febbraio 2013 : la voce di Microsoft Connect contiene una nota di Alok Shriram (Program Manager, librerie di classi di base, .NET Framework) che indica che il problema dovrebbe essere risolto. La voce Connect è contrassegnata come Risolto (fisso) :
Questo problema dovrebbe ora essere risolto. Abbiamo pubblicato un aggiornamento per le fonti di riferimento. Fateci sapere nel caso in cui il problema non sia ancora risolto.
Anno e mezzo.
Link bonus
Domanda originale
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Nota : questa domanda è un pezzo di un insieme più grande:
- .NET 2.0 WinForm: supporto di DPI e modifiche ai caratteri predefiniti
- I controlli WinForms non vengono ridimensionati durante ScaleControl
- VS2010: Come abilitare "Abilita il passaggio all'origine di .NET Framework"?
- Visual Studio 2010 Professional: come accedere alla finestra Moduli?
- Visual Studio 2010: proprietà Impostazioni non funzionanti dopo il retargeting del progetto su .NET Framework 3.5
Visual Studio 2010 include una nuova funzionalità:
- Strumenti, Opzioni, Debug, Generale, Abilita stepping sorgente .NET Framework
Seguendo le istruzioni nella pagina MSDN Procedura: eseguire il debug dell'origine .NET Framework :
Per abilitare il debug del codice sorgente .NET Framework
Nel menu Strumenti , fare clic su Opzioni .
Nella finestra di dialogo Opzioni , fare clic sulla categoria Debug .
Nella casella Generale selezionare le seguenti caselle di controllo:
- Abilita il passaggio all'origine di .NET Framework
- Abilita il supporto del server di origine
Lo faccio:
Nota : noterai, come nota la pagina MSDN e come ho notato, che selezionando Abilita stepping sorgente .NET Framework verrà automaticamente deselezionata ** Abilita solo il mio codice (solo gestito). Ho anche abilitato i messaggi di diagnostica del supporto del server di origine.
L'attivazione di queste opzioni imposta automaticamente un percorso di download della cache dei simboli per me:
Nota : la voce Microsoft Symbol Server è già presente (e non può essere rimossa).
La pagina MSDN dice di caricare i simboli:
Per caricare i simboli del Framework utilizzando la finestra Moduli
Nella finestra Moduli , fare clic con il pulsante destro del mouse su un modulo per il quale non sono stati caricati i simboli. Puoi sapere se i simboli vengono caricati o meno guardando la colonna Stato simboli .
Punto a caricare Da Simboli e fare clic su server Microsoft Symbol simboli scaricare dal simboli pubblici server Microsoft o simbolo Percorso a carico da una directory in cui si dispone di simboli precedentemente memorizzati.
Provo questo:
e quindi vengono caricati tutti i simboli:
Sono stato seduto su un punto di interruzione, che sta per chiamare il codice .NET framework:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
Il push F11fa sì che il debugger salti semplicemente alla riga successiva:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
//Record the running scale factor used
this.scaleFactor = new SizeF(
this.scaleFactor.Width * factor.Width,
this.scaleFactor.Height * factor.Height);
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Sono seduto in un punto di interruzione nel mio codice. Provo a fare doppio clic su una funzione più in alto nello stack di chiamate. Questo mi permetterebbe, spero, di passare al codice .NET:
Tranne che non funziona: Visual Studio mi dice che non ci sono sorgenti disponibili:
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Se passo alla visualizzazione di disassemblaggio prima di provare ad entrare nel codice .NET ( Debug -> Windows -> Disassembly ), posso vedere un call
nel codice .NET:
E quando lo faccio, finisco per eseguire il debug di un disassemblaggio di System.Windows.Forms.ScaleControl
:
Che non è lo stesso, o utile come, essere in grado di entrare nel sorgente .NET Framework.
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Il percorso della cache dei simboli configurato sul mio computer contiene i file della cache dei simboli:
Quindi sta scaricando pdb
file di simboli, ma si rifiuta di usarli.
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Leppie mi ha suggerito di controllare il Debug
registro (con la finestra del registro di debug aperta, altrimenti non registra nulla):
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
In precedenza nel registro lo vedo caricare simboli per System.Windows.Forms.dll
:
Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Symbols loaded.
Quindi è trovare i miei simboli, ma affermare di non essere riuscito a trovarli.
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Un ragazzo di Microsoft Italia suggerisce di disattivare Richiedi file sorgente in modo che corrispondano esattamente alla versione originale :
Questo non l'ha risolto.
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
È stato suggerito che ci sia un bug con il server di origine di Microsoft per .NET Framework 4.0 . Seguendo questo suggerimento, ho cambiato il progetto in .NET Framework 3.5 :
Questo non l'ha risolto.
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Qualcuno da qualche parte si chiedeva pigramente se un'altra persona con lo stesso problema stesse utilizzando la versione a 64 bit del debugger . Ora, non esiste una versione a 64 bit di Visual Studio, ma ho provato a cambiare il mio progetto da AnyCPU a x86 (era JITed a x64), nel caso in cui Microsoft non supporti i processori a 64 bit:
Questo non ha risolto il problema:
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
Come si abilita il passaggio all'origine di .NET Framework in Visual Studio 2010?
Guarda anche
- Configurazione di Visual Studio per eseguire il debug del codice sorgente di .NET Framework
- Impossibile eseguire il debug del codice .NET Framework in VS2010
- Il codice sorgente .NET Framework non funziona nonostante le opzioni impostate
- Configurazione di Visual Studio 2010 per entrare nel codice sorgente di Microsoft .NET
- Debug del codice sorgente di Visual Studio 2008 SP1 .NET Framework
- Finestra No Debug> Moduli in Visual Studio 2008 versione 9.0.21022.8 RTM