Wie finde ich den Stack-Trace in Visual Studio?

Antworten:

276

Gehen Sie beim Debuggen zu Debug -> Windows -> Call Stack

cdonner
quelle
38
==> "beim Debuggen" <==
prabhakaran
2
Der Aufrufstapel in VS 2013 zeigt nie etwas Nützliches an. Es wäre schön, wenn die Aufrufer der Objekte angezeigt würden, die eine nicht behandelte Ausnahme auslösen. Gibt es eine versteckte Option, um es nützlich zu machen? Vielleicht können Sie Ihre Antwort erweitern, um Beispiele zu liefern.
James
1
Ich liebe es, wie alle anderen in anderen ähnlichen Threads den wichtigsten Teil der Antwort völlig verpasst haben.
AvetisG
Nett, danke! Dies funktioniert sogar, während VS CE 2015 + IE9 ausgeführt und der JavaScript-Stack-Trace von IE9 debuggt wird!
Alexey Volodko
130

Beim Debuggen , wenn Sie einen Haltepunkt erreichen .

CTRL+ ALT+C

Geben Sie hier die Bildbeschreibung ein

CharithJ
quelle
16
+1 für das Bild = D (Ich mag es, wenn jemand eine Durchsetzung erzwingt, um einen Screenshot zu machen)
Michel Ayres
39

Die Standard-Tastenkombination ist Strg-Alt-C.

Brian Rasmussen
quelle
16
Es ist wichtig zu beachten, dass Sie sich im Debug-Modus befinden müssen, um das Call-Stack-Fenster zu sehen.
dss539
1
@ dss539 Ich denke, Sie haben einen Debugger angehängt , der entweder debuggen oder Build freigeben kann. Es ist auch wichtig, dass Sie genügend Symbole für Ihre Debugging-Sitzung geladen haben , da Sie sonst irreführende / Müll-Callstacks erhalten.
Chris O
@ChrisO - Ja, ich meinte, Visual Studio sollte sich im Debugging-Status befinden. Entschuldigung, ich kann sehen, wie mein ursprünglicher Wortlaut Raum für Fehlinterpretationen lässt.
dss539
16

Meinen Sie damit, eine Stapelverfolgung des ausgelösten Ausnahmeorts zu finden ? Das ist entweder Debug / Exceptions oder besser - Strg-Alt-E. Legen Sie Filter für die Ausnahmen fest, für die Sie eine Unterbrechung durchführen möchten.

Es gibt sogar eine Möglichkeit, den Werferstapel zu rekonstruieren, nachdem die Ausnahme abgefangen wurde, aber es ist wirklich unangenehm . Viel, viel einfacher, eine Pause auf den Wurf zu setzen.

Ofek Shilon
quelle
1

Betrachten Sie dies als das aktuelle Update (Windows 10 (Version 1803) und Visual Studio 2017): Ich konnte das Stapelverfolgungsfenster nicht anzeigen und habe eine Option / ein Menüelement zum Anzeigen gefunden. Bei weiteren Untersuchungen scheint diese Funktion unter Windows 10 nicht verfügbar zu sein. Weitere Informationen finden Sie unter:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/viewing-the-call-stack-in-visual-studio

Über den obigen Link kopiert: "Diese Funktion ist in Windows 10, Version 1507 und späteren Versionen des WDK nicht verfügbar."

Vin
quelle
Das scheint wirklich seltsam. Hat jemand eine Idee für eine alternative Möglichkeit, dies in Version 1507 und höher zu tun? Diese Funktion ist sehr hilfreich ...
nimble_ninja
0

Für Visual Studio 2019 lautet die Verknüpfung (beim Debuggen und Anhalten an einem Haltepunkt) :

Ctrl+ Alt+ Cund jetzt können Sie auch Ctrl+ verwendenL

Der Screenshot ist ziemlich alt. Hier ist eine für Visual Studio 2019 (unter dem Debug-Menü):

Visual Studio 2019 Call Stack-Menüoption

braX
quelle