Frage

Ich habe die folgende Codezeile in VS2008.

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

Ich mag diese GetVirtualpath(..) Methode debuggen .. zu sehen, was es zu tun versucht.

Ich gehe davon aus ich brauche die Symbole aus dem MS-Symbol Server zu greifen.

Was ich tat, war

  • Schalten Sie Aktivieren nur mein Code
  • Schalten Sie Aktivieren Source-Server-Unterstützung
  • Zeigen Sie die Module Fenster beim Debuggen (manuell das richtige Modul laden)

Übersetzen im Debug-Modus, setzen Sie einen Haltepunkt in der Zeile über und Debug-Durchlauf. Als ich die Leitung getroffen, ich lade manuell in System.Web.Routing(..) von MS Symbol Server . Dies funktioniert (der PDB lokal heruntergeladen) und wenn ich in dieser Linie Schritt, ich gehe etwas Dissassemler Code: (

Kann jemand sehen, was ich falsch mache?

War es hilfreich?

Lösung

Dass die Symbole Datei heruntergeladen wird, bedeutet nicht, dass die Quellen für sie verfügbar sind, muss die PDB-Quelle als auch indiziert werden.

Von Scott Guthrie Ankündigung :

  

Wir werden zunächst die Quelle anbieten   Code (mit Quelldatei Kommentare   im Lieferumfang enthalten) für die .NET-Basisklasse   Bibliotheken (System, System.IO,   System.Collections,   Systemkonfiguration,   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) und   WPF (System.Windows). Wir werden dann   mehr Bibliotheken in den kommenden Monaten hinzugefügt   vor (einschließlich WCF, Workflow und   LINQ). Der Quellcode wird   unter dem Microsoft Reference veröffentlicht   License (MS-RL).

Es scheint System.Web.Routing ist hier nicht enthalten.

Sie können jedoch das MVC-Quelle herunterladen, dann sollten Sie in der Lage sein, die PDBS verwenden Sie heruntergeladen gegen diese Quelle.

Andere Tipps

sah mich jemand schon modded unten bekommt dies zu sagen, aber ...

Es scheint nicht, dass Sie eine Source-Level-Ansicht zu bekommen, was los ist, aber wenn Sie wirklich brauchen eine Antwort auf, warum etwas möglicherweise nicht funktionieren (und Stackoverflow kann nicht helfen), mit Reflector.NET C # -Code von der kompilierten Assembly (dLL oder eXE) ist eine ziemlich gute Option zu erhalten. Das Tool ist sehr einfach für jeden erfahrenen .NET-Entwickler zu verwenden, und einige sehr gute Einblicke in zur Verfügung stellen kann, was geschieht.

Viele von uns, die an der Vorderkante von .NET arbeiten Notwendigkeit , es zu benutzen, weil es oft keine andere schnelle Methode, und für diejenigen ohne MVP oder Microsoft-Seite Verbindungen ist es häufig die nur Weg, um die 'innere Geschichte' zu erhalten.

Ich bin ein wenig überrascht, dass es eine Symboldatei für die heruntergeladen; Ich das letzte Mal sah, gab es nur Symbole für eine kleine Teilmenge (hauptsächlich 2.0) des Frameworks. Haben Sie ein Problem mit diesem Code im Moment? Wenn ja, senden Sie Details der Ausnahme / unerwartetes Verhalten. Wenn Sie einfach nur neugierig sind, dann entweder ein: Lesen Sie die Dokumentation rel="nofollow, oder b: vielleicht wurde ein Snoop mit Reflektor (Einschränkung: „< a href = "http://en.wikipedia.org/wiki/IANAL" rel = "nofollow noreferrer"> IANAL ").

Sieht aus wie Sie .NET sprechen, so ist es eigentlich IL-Bytecode Sie sehen. Ich glaube nicht, Microsoft veröffentlicht Symbole mit Quellcode für .NET, so VS kann Ihnen nicht helfen.

Mit .NET Reflector zu untersuchen, was die Funktion der Fall ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top