web-dev-qa-db-fra.com

Déboguer le code source de .NET Framework dans Visual Studio 2012?

J'utilise Visual Studio 2012. Je souhaite déboguer le code source de .NET Framework. J'ai essayé presque toutes les options mais je reçois toujours There is source code available for Current Location. Les symboles sont chargés avec succès. J'ai essayé de charger Microsoft Symbol Server et j'ai essayé cette URL http://referencesource.Microsoft.com/symbols . Mais je ne parviens toujours pas à DÉBOGNER. J'ai essayé ces liens, http://blogs.msdn.com/b/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code. aspx et http://msdn.Microsoft.com/en-us/library/cc667410.aspx

A également suivi cela, http://blogs.msdn.com/b/dotnet/archive/2012/08/15/announcing-the-release-of-net-framework-4-5-rtm-product- et-code-source.aspx

Quelqu'un est-il capable de déboguer la source de .NET Framework dans VS 2012?

45
user960567

Le débogage des sources .NET Framework a été interrompu pendant longtemps. Voir la suggestion pertinente sur VisualStudio UserVoice Autoriser les développeurs à parcourir les sources de .NET Framework . Bonne nouvelle: elle a finalement été corrigée! Consultez le billet de blog suivant de Microsoft:

Un nouveau look pour la source de référence .NET

En bref:

C'est actuellement "beta". Finalement, cela va remplacer http://referencesource.Microsoft.com/ . Microsoft promet également d'ajouter des sources de plusieurs assemblys.

9
Athari

Cette fonctionnalité a été rompue dans VS2010 SP1, elle pourrait également l'être dans VS2012. Ou Microsoft peut publier des fichiers PDB incorrects pour la dernière version de .NET Framework (cela s'était déjà produit auparavant). Essayez des solutions alternatives. J'utilise .NET Reflector VSPro - il permet de décompiler des assemblys, de charger des symboles décompilés pendant le débogage et d'utiliser des fonctionnalités de débogage complètes pour ces assemblages décompilés.

9
user626528

Dans VS 2008, j'ai pu déboguer la source .Net, mais dans VS2012 j'ai installé .NET Reflector (extension VS), donc il se décompile automatiquement et permet de déboguer n'importe quel code .Net.

Ilspy.net est un autre outil open source, il enregistre l'assembly décompilé en tant que projet C # et vous pouvez utiliser les outils de débogage.

Il existe également des outils de débogage pour Windows, qui font partie du SDK, mais je n'ai pas essayé ceux-ci: http://msdn.Microsoft.com/en-us/windows/hardware/gg463009.aspx =

7
tatigo

Voici un bon article décrivant comment configurer le serveur de symboles VS et dotPeek 1.2 pour déboguer le code décompilé de VisualStudio: http://blog.jetbrains.com/dotnet/2014/04/09/introducing-dotpeek-1- 2-early-access-program Si le framework de débogage ou tout autre code compilé est votre routine quotidienne, je recommanderais de reconstruire la solution à partir d'un ensemble d'assemblys que vous utilisez, ce qui vous fera gagner du temps sur le chargement des symboles pendant l'attachement du débogueur.

2
Shkredov S.

1) Les fichiers PDB ne sont pas à jour. Essayez de décocher Tool-> Options-> Debugging-> General -> "Require source files to exactement match the original version"

2) Vous avez référencé un autre de vos projets en ajoutant sa DLL à vos références au lieu d'ajouter le projet comme référence. Essayez de supprimer la référence ajouter ajouter une nouvelle référence au projet à partir de l'onglet "Projets"

Et vous pouvez rechercher Google . Cela donne plus que des réponses

1
user1193035

J'ai eu beaucoup de chance dans le passé après la procédure comme conseillé par SymbolSource.

Si vous combinez cela avec Resharper, vous pourrez cliquer sur CTRL à travers le cadre.

Il y a ne longue histoire cependant, MS ne publie pas le code de toutes les versions de leurs binaires. C'est pourquoi le débogage ne fonctionne souvent pas.

Pourtant, Resharper semble un peu plus flexible dans le téléchargement du code source, et s'il ne le peut pas, il vous donnera le code source démonté, mais non débogable. Notez que JetBrains considère le débogage des sources décompilées ne fonctionnalité critique pour dotPeek (le décompilateur fourni avec Re #), donc cela pourrait être possible dans un avenir pas trop lointain.

1