Update 22. Februar 2013 : Der Microsoft Connect-Eintrag enthält einen Hinweis von Alok Shriram (Programmmanager, Basisklassenbibliotheken, .NET Framework), dass das Problem jetzt behoben werden sollte. Der Connect-Eintrag wird als Gelöst (Behoben) markiert :
Dieses Problem sollte jetzt behoben sein. Wir haben ein Update für Referenzquellen veröffentlicht. Bitte lassen Sie uns wissen, falls Ihr Problem immer noch nicht behoben ist.
Ein Jahr und ein Halbes.
Bonus Links
Stimmen Sie ab, dass dieser Fehler in Microsoft Connect behoben wird .
Thread auf Microsoft Social, das seit anderthalb Jahren läuft und fragt, wann es behoben wird .
Ursprüngliche Frage
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Hinweis : Diese Frage ist ein Teil eines größeren Ganzen:
- .NET 2.0 WinForm: Unterstützung von DPI- und Standardschriftänderungen
- WinForms-Steuerelemente werden während ScaleControl nicht skaliert
- VS2010: Wie aktiviere ich ".NET Framework-Quellschritt aktivieren"?
- Visual Studio 2010 Professional: Wie greife ich auf das Modulfenster zu?
- Visual Studio 2010: Eigenschaften. Die Einstellungen wurden unterbrochen, nachdem das Projekt auf .NET Framework 3.5 umgestellt wurde
Visual Studio 2010 verfügt über eine neue Funktion:
- Tools, Optionen, Debugging, Allgemein, .NET Framework-Quellschritt aktivieren
Befolgen Sie die Anweisungen auf der MSDN-Seite. Gewusst wie: Debuggen von .NET Framework-Quelle :
So aktivieren Sie das Debuggen von .NET Framework-Quellen
Auf der Werkzeuge Klicken Sie im Menü Optionen .
In den Optionen Dialogfeld klicken Sie auf die Debuggen Kategorie.
Aktivieren Sie im Feld Allgemein die folgenden Kontrollkästchen:
- Aktivieren Sie .NET Framework-Quellschritt
- Aktivieren Sie die Quellserverunterstützung
Ich mache das:
Hinweis : Wie auf der MSDN-Seite vermerkt, und wie ich bemerkt habe, wird beim Aktivieren der Option " .NET Framework-Quellschritt aktivieren" automatisch deaktiviert. ** Nur meinen Code aktivieren (nur verwaltet). Ich habe auch die Diagnosemeldungen des Quellserver-Supports aktiviert.
Durch Aktivieren dieser Optionen wird für mich automatisch ein Download-Speicherort für den Symbol-Cache festgelegt:
Hinweis : Der Microsoft Symbol Server- Eintrag ist bereits vorhanden (und kann nicht entfernt werden).
Auf der MSDN-Seite wird angegeben, dass die Symbole geladen werden sollen:
So laden Sie Framework-Symbole über das Fenster "Module"
Klicken Sie im Fenster Module mit der rechten Maustaste auf ein Modul, für das keine Symbole geladen sind. Sie können sagen , ob Symbole geladen werden oder nicht an der Suche Symbole Status - Spalte.
Zeigen Sie auf Laden Symbole aus und klicken Sie auf Microsoft Symbol Server , um Download - Symbole aus dem öffentlichen Microsoft - Symbolen Server oder Symbol Pfad zur Last von einem Verzeichnis , in dem zuvor gespeicherten Symbole.
Ich versuche das:
und dann werden alle Symbole geladen:
Ich habe auf einem Haltepunkt gesessen, der im Begriff ist, .NET Framework-Code aufzurufen:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
Durch Drücken von F11springt der Debugger einfach zur nächsten Zeile:
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);
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Ich sitze an einem Haltepunkt in meinem Code. Ich versuche, auf eine Funktion weiter oben im Aufrufstapel zu doppelklicken. Dies würde es mir hoffentlich ermöglichen, zum .NET-Code zu springen :
Außer dass es nicht funktioniert: Visual Studio sagt mir, dass keine Quelle verfügbar ist:
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Wenn ich zur Disassemblierungsansicht wechsle, bevor ich versuche, in .NET-Code einzusteigen ( Debug -> Windows -> Disassembly ), kann ich einen call
in den .NET-Code sehen:
Und wenn ich das tue, debugge ich am Ende eine Demontage von System.Windows.Forms.ScaleControl
:
Dies ist nicht dasselbe oder so nützlich wie das Betreten der .NET Framework-Quelle.
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Der konfigurierte Symbol-Cache-Pfad auf meinem Computer enthält Symbol-Cache-Dateien:
Es werden also pdb
Symboldateien heruntergeladen , aber nicht verwendet.
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Leppie schlug vor, das Debug
Protokoll zu überprüfen (bei geöffnetem Debug-Protokollfenster; sonst wird nichts protokolliert):
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
Früher im Protokoll sehe ich, dass Symbole geladen werden für System.Windows.Forms.dll
:
Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Symbols loaded.
Es findet also meine Symbole, behauptet aber, dass es sie nicht finden konnte.
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Ein Mitarbeiter von Microsoft Italien schlägt vor, Quelldateien erforderlich zu deaktivieren, damit sie genau mit der Originalversion übereinstimmen :
Das hat es nicht behoben.
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Es wurde vermutet, dass ein Fehler mit dem Quellserver von Microsoft für .NET Framework 4.0 vorliegt . Auf diesen Vorschlag hin habe ich das Projekt auf .NET Framework 3.5 umgestellt :
Das hat es nicht behoben.
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Jemand fragte sich müßig, ob eine andere Person, bei der das gleiche Problem auftrat , die 64-Bit-Version des Debuggers verwendete . Derzeit gibt es keine 64-Bit-Version von Visual Studio, aber ich habe versucht, mein Projekt von AnyCPU auf x86 umzustellen (es wurde auf x64 JITed), falls Microsoft keine 64-Bit-Prozessoren unterstützt:
Das hat es nicht behoben:
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
Wie aktiviere ich .NET Framework-Quellschritt in Visual Studio 2010?
Siehe auch
- Konfigurieren von Visual Studio zum Debuggen von .NET Framework-Quellcode
- .NET Framework-Code in VS2010 kann nicht debuggt werden
- .NET Framework-Quellschritt funktioniert trotz festgelegter Optionen nicht
- Einrichten von Visual Studio 2010 für den Einstieg in Microsoft .NET-Quellcode
- Visual Studio 2008 SP1 .NET Framework-Quellendebugging
- Kein Fenster Debug> Module in Visual Studio 2008 Version 9.0.21022.8 RTM
quelle
Antworten:
Die PDBs zum Durchlaufen des Quellcodes werden nur für RTM- und Service Packs bereitgestellt. Wenn ein Sicherheitsupdate veröffentlicht wird und die zu debuggende DLL geändert wird, funktioniert das Quell-Stepping nicht (dh Sie erhalten "Keine Quelle verfügbar" mit einem ausgegrauten "Nach Quelle suchen" ").
Sobald Sie jedoch alle entsprechenden Einstellungen vorgenommen haben, können Sie die folgende Problemumgehung verwenden. Die Problemumgehung besteht im Wesentlichen darin, die Sicherheitsupdates zu finden, durch die sich die DLL geändert hat, und sie dann zu entfernen. Dies hat den offensichtlichen Nachteil, dass diese Sicherheitsupdates auf Ihrem Computer entfernt werden.
Problemumgehung
site:support.microsoft.com/kb System.Windows.Forms.dll 4.0.30319.269
http://support.microsoft.com/kb/2604121
, also KB2604121, das, woran wir interessiert sind.Sie müssen dies für jede DLL innerhalb des .NET-Frameworks tun, in die Sie das Debuggen ausführen möchten.
Legen Sie anschließend einen Haltepunkt in der .net-Quelle fest (gehen Sie beispielsweise zur Registerkarte Haltepunkte, sagen Sie Neu-> Unterbrechen bei Funktion, und geben Sie System.Windows.Forms.Form.Form ein), oder betreten Sie eines der .net-Elemente Methoden in dieser DLL.
quelle
Zwar gibt es leider ein Problem mit einem Microsoft, wie Leppie betonte (und ich habe das gleiche Ergebnis gesehen
Es sollte beachtet werden, dass Ihr Versuch sowieso fehlschlagen würde, da Sie verwiesen haben:
anstatt:
referencesource.microsoft.com/symbols
Weitere Informationen finden Sie im Abschnitt FAQ / Fehlerbehebung unter Konfigurieren von Visual Studio zum Debuggen von .NET Framework-Quellcode
quelle
Ich habe die Antwort gefunden, denke ich.
Ich verfolgte, was auf Fiddler geschah. Es scheint, dass derzeit nur die Symbole verfügbar sind und keine Quelle.
Wenn VS versucht, die Symbole vom 'Referenzquellen'-Server zu laden, schlägt dies fehl (404). Da dies fehlschlägt, kann es meiner Meinung nach nicht den Quelldateien auf diesem Server zugeordnet werden.
http://referencesource.microsoft.com/symbols/mscorlib.pdb/ED96A7F38A2940F39B9CA7AD9BC5CB671/mscorlib.pdb
Nach dem oben genannten Fehler versucht es einen Server namens 'msdl', auf dem der tatsächliche PDB gefunden wird (aber es scheint, dass dieser keine Quellcode-Informationen hat).
http://msdl.microsoft.com/download/symbols/mscorlib.pdb/ED96A7F38A2940F39B9CA7AD9BC5CB671/mscorlib.pd_
Alles in allem scheint es sich um ein (vorübergehendes) Microsoft-Problem mit den Servern zu handeln.
Ich bin sicher, ich hatte vor einiger Zeit einen Quellcode. Aber jetzt funktioniert es nicht.
Bearbeiten:
Ich habe es mit verschiedenen .NET-Versionen versucht, alle das gleiche Ergebnis. :((
quelle
Im Moment funktioniert es nicht, wenn Sie SP1 installiert haben. Hier einige Kommentare zum Problemformular MS: http://social.msdn.microsoft.com/Forums/en-US/refsourceserver/thread/41388c7b-582b-4e3f-8178-3d38a3c99639
quelle
In meinem Fall habe ich eine alte .NET 2.0 WinForms- Anwendung debuggt und die Meldung "Quelle nicht verfügbar" erhalten . Ich habe alle empfohlenen Einstellungen ausprobiert.
Letztendlich habe ich die App so umgebaut, dass sie vorübergehend auf .NET 4.5 abzielt, und konnte die Quelle zum Laufen bringen. Vielleicht war meine App einfach zu alt, um die Quelle zu betreten. Ich weiß, dass dies den Zweck irgendwie zunichte macht, aber für schnelle und schmutzige Tests funktioniert es. Der Fehler, den ich habe, ist in .NET 4.5 immer noch vorhanden . :) :)
quelle
Die Referenzquelle finden Sie hier zum Download:
.NET Framework 4.0-Referenzquelle
Dort finden Sie auch die Quellen für WCF, WF und sogar die 4.5 Beta / RC und viele mehr:
Microsoft Referencesource NetFramework
quelle
Hier sind die offiziellen Anweisungen https://referencesource.microsoft.com/setup.html
quelle
Wenn Sie Open Source-Code (z. B. Nuget-Paket) debuggen möchten, können Sie diese URL zu Ihrer Symbolserverliste hinzufügen
http://srv.symbolsource.org/pdb/Public
quelle