Question

J'ai la ligne de code suivante dans VS2008.

    VirtualPathData virtualPathData = 
        RouteTable.Routes.GetVirtualPath(_viewContext.RequestContext, 
        "Home", 
        pageLinkValueDictionary);

Je souhaite déboguer cette méthode de GetVirtualpath(..) .. pour voir ce qu'il essaie de faire.

Je suppose que je dois saisir les symboles du serveur de symboles MS.

Ce que j'ai été

  • Désactiver Activer juste mon code
  • Activer Activer le support du serveur source
  • Vérifier les Modules fenêtre lors du débogage (pour charger manuellement le module correct)

Compiler en mode débogage, mettez un point d'arrêt sur cette ligne au sujet et le débogage terme. Quand je frappe la ligne, je charge manuellement dans System.Web.Routing(..) de serveur MS Symbole . Cela fonctionne (le PDB est téléchargé localement) et quand je fais un pas dans cette ligne, je goto un code Dissassemler: (

Quelqu'un peut-il voir ce que je fais mal?

Était-ce utile?

La solution

Que le fichier est téléchargé symboles ne signifie pas que les sources sont disponibles pour cela, le PDB doit être la source indexée ainsi.

l'annonce de Scott Guthrie :

  

Nous allons commencer par offrir la source   code (avec les commentaires du fichier source   inclus) pour la classe de base .NET   Bibliothèques (système, System.IO,   System.Collections,   Configuration du système,   System.Threading, System.Net,   System.Security, System.Runtime,   System.Text, etc.), ASP.NET   (System.Web), Windows Forms   (System.Windows.Forms), ADO.NET   (System.Data), XML (System.Xml), et   WPF (System.Windows). Nous serons alors   l'ajout de bibliothèques dans les mois   avance (y compris WCF, Workflow, et   LINQ). Le code source sera   publié sous la référence Microsoft   Licence (MS-RL).

Il semble System.Web.Routing n'est pas inclus ici.

Vous pouvez cependant télécharger MVC Source, alors vous devriez être en mesure d'utiliser les PDB que vous avez téléchargé contre cette source.

Autres conseils

J'ai vu quelqu'un se modded déjà vers le bas pour le dire, mais ...

Il ne semble pas que vous pouvez obtenir une vue au niveau de la source de ce qui se passe, mais si vous avez vraiment besoin d'une réponse sur la raison pour laquelle quelque chose pourrait ne pas travailler (et StackOverflow ne peut pas aider), en utilisant Reflector.NET pour obtenir le code C # de l'ensemble compilé (dll ou exe) est une option assez bonne. L'outil est très facile à utiliser pour tout développeur .NET expérimenté et peut fournir de très bons aperçus sur ce qui se passe.

Beaucoup d'entre nous qui travaillent au bord d'attaque de .NET besoin pour l'utiliser parce qu'il n'y a souvent pas d'autre méthode rapide, et pour ceux sans MVP ou connexions Microsoft côté, il est généralement le uniquement façon d'obtenir la 'histoire à l'intérieur'.

Je suis un peu surpris qu'il téléchargé un fichier de symboles pour cela; dernière fois que je regardais, il était seulement des symboles pour un petit sous-ensemble (principalement 2.0) du cadre. Est-ce que vous avez un problème avec ce code au moment? Dans ce cas, les détails de poste de l'exception / comportement inattendu. Si vous êtes simplement curieux, alors soit un: lire le , ou b: peut-être avec Snoop ayez un (mise en garde: « < a href = "http://en.wikipedia.org/wiki/IANAL" rel = "nofollow noreferrer"> IANAL ").

On dirait que vous parlez .NET, il est en fait le code IL octet que vous voyez. Je ne pense pas que Microsoft publie des symboles avec le code source pour .NET, si VS ne peux pas vous aider.

Utilisez réflecteur .NET pour inspecter ce que la fonction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top