2010-09-13 10 views
8

Ho problemi durante la configurazione del debug del codice sorgente di Microsoft .NET Framework per Visual Studio 2008 e 2010 su Windows 7 x64 (anch'io ho problemi simili su Vista x86).Debugging del codice sorgente di NET Framework non disponibile

Ho seguito le istruzioni da this blog post e altre risorse ma senza molto successo. Ho anche scaricato e installato all symbols dal Centro codice sorgente di riferimento Microsoft e seguito anche their instructions senza esito positivo.

Sembra che Visual Studio continui a caricare PDB senza codice sorgente in essi. Inoltre, continua a scaricare PDB anche se esiste una cache locale corretta.

Sembra una cosa semplice da fare, ma devo continuare a ripetere alcuni errori nella procedura di configurazione.

+0

Penso che abbia qualcosa a che fare con le piattaforme di destinazione. Ieri sera sono riuscito a farlo funzionare quando ho creato x64bit su un win7 vs x86 ma ho appena provato a replicare su un nuovo VHD e il suo ritorno a "Nessuna fonte disponibile" nessuna idea .. –

risposta

6

È la più nera delle arti nere per ottenere ciò che è successo, ho deciso di utilizzare per il tempo lungo per ottenere l'origine di riferimento 3.5 in corso. Non è ancora stato calcolato 4.0.

Un problema che ho scoperto è la cache dei simboli. Se hai eseguito il debug con il server dei simboli abilitato prima di provare a ottenere il codice sorgente di riferimento, esso viene riempito con i file .pdb errati, quelli che non hanno informazioni sulla fonte. L'ho risolto copiando a mano i file .pdbs dalla sorgente di riferimento (scaricata con il Massdownloader) nella directory della cache dei simboli, sovrascrivendo quelli non validi. Paga sporco

+0

+1, ma temo di avere Ho perso così tanto tempo oggi con questo problema che ho bisogno di una persona gentile per insegnarmi piccoli passi per farlo funzionare. Una cosa divertente che ho capito ... Il mio tentativo di debugging mi spinge a localizzare 'PresentationCore.pdb'. Il token della chiave pubblica è '31bf3856ad364e35' e la mia cache' ReferenceSource' ha esattamente 9 altre versioni di questo PDB ma non quella richiesta. Vai a capire. – wpfwannabe

+1

Ha qualcosa a che fare con Windows 7 x64? – wpfwannabe

+0

Non sono ancora riuscito a farlo funzionare in VS2010; targeting 3.5 o 4 su x64. Forse aspetterò la luna piena. – Jeb

1

io non sono sicuro se questo corrisponde al tuo problema, ma hanno uno sguardo a questo KB-articolo, forse hai questo tipo di problema:

http://support.microsoft.com/?scid=kb%3Ben-us%3B957912&x=7&y=9

Si tratta di Visual Studio non essere in grado di riconoscere punti di interruzione né passare attraverso il codice sorgente.

+0

+1, grazie per aver provato ma questo non sembra applicarsi. Sto soffrendo di alcune malformazioni errate. – wpfwannabe

2

Ok da quello che posso dire al seguito potrebbero essere le ragioni per cui non si ottiene l'accesso ecc

Assicurati di avere .NET 4.0 come la build di destinazione quando si utilizza Windows 7 + 64 + VS2010. .NET 3.5 non funzionerà, in quanto ha a che fare con Microsoft non rilasciando la fonte di questi simboli tramite il servizio di origine dei simboli pubblici. È possibile ottenere il 3.5 SP1 etc a http://referencesource.microsoft.com/netframework.aspx

io non sono sicuro perché si hanno anche per specificare la costruisce come x64 e non Qualsiasi CPU o x86 al fine di ottenere questo lavoro, ma ancora, ci andate è il caso al momento (per questo specifico scenario). Se provo ad usare uno di questi due ottengo zero access to source (Symbol Load normalmente ma nessun accesso).

Spero che sia d'aiuto? mi ci è voluto un giorno e mezzo per cercare di capire perché non è molto, ma funziona.

+0

Cambiare le impostazioni del progetto in .NET 4.0 e il targeting x64 (vs x86) ha sicuramente funzionato per me e mi ha permesso di rintracciare il problema che stavo svolgendo. Grazie! –

Problemi correlati