Jak znaleźć ślad stosu w programie Visual Studio?


Odpowiedzi:


276

Podczas debugowania przejdź do Debuguj -> Windows -> Stos połączeń


38
==> „podczas debugowania” <==
prabhakaran

2
Stos wywołań w VS 2013 nigdy nie pokazuje niczego przydatnego. Byłoby miło, gdyby wyświetlał obiekty wywołujące nieobsługiwany wyjątek. Czy istnieje ukryta opcja, która może być przydatna? Być może możesz rozwinąć swoją odpowiedź, aby podać przykłady.
James

1
Uwielbiam, jak wszyscy inni w innych wątkach podobnych do tego całkowicie pominęli NAJWAŻNIEJSZĄ część odpowiedzi.
AvetisG,

Fajnie dzięki! Działa to nawet podczas działania VS CE 2015 + IE9 i debugowania śladu stosu JavaScript IE9!
Aleksiej Wołodko

130

Podczas debugowania , gdy osiągniesz punkt krytyczny .

CTRL+ ALT+C

wprowadź opis zdjęcia tutaj


16
+1 za zdjęcie = D (Lubię, gdy ktoś wymusza wykonanie zrzutu ekranu)
Michel Ayres

39

Domyślny klawisz skrótu to Ctrl-Alt-C.


16
Ważne jest, aby pamiętać, że musisz być w trybie debugowania, aby wyświetlić okno stosu wywołań.
dss539

1
@ dss539 Myślę, że masz podłączony debugger , może on debugować lub wydać kompilację. Ważne jest również, aby mieć wystarczającą liczbę symboli załadowanych do sesji debugowania, w przeciwnym razie dostaniesz wprowadzające w błąd / śmieci.
Chris O

@ChrisO - Tak, miałem na myśli, że Visual Studio powinien być w stanie „debugowania”. Przepraszam, widzę, jak moje oryginalne sformułowania pozostawiają miejsce na błędną interpretację.
dss539,

16

Masz na myśli znalezienie śladu stosu lokalizacji wyjątku zgłoszonego ? To albo Debuguj / Wyjątki, albo lepiej - Ctrl-Alt-E. Ustaw filtry dla wyjątków, które chcesz złamać.

Jest nawet sposób na zrekonstruowanie stosu rzucającego po złapaniu wyjątku, ale jest to naprawdę nieprzyjemne . Znacznie łatwiej jest ustawić przerwę na rzucie.



1

Potraktuj to jako bieżącą aktualizację (Windows 10 (wersja 1803) i Visual Studio 2017): Nie mogłem wyświetlić okna śledzenia stosu i znalazłem opcję / pozycję menu, aby go wyświetlić. Po dokładniejszym zbadaniu wydaje się, że ta funkcja nie jest dostępna w systemie Windows 10. Więcej informacji można znaleźć w:

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

Skopiowano z powyższego łącza: „Ta funkcja nie jest dostępna w systemie Windows 10, wersji 1507 i nowszych wersjach WDK”.


To wydaje się naprawdę dziwne. Czy ktoś ma jakiś pomysł na alternatywny sposób wykonania tego w wersji 1507 i nowszych? Ta funkcja jest bardzo pomocna ...
nimble_ninja

0

W Visual Studio 2019 skrót (podczas debugowania i zatrzymania w punkcie przerwania) to:

Ctrl+ Alt+, Ca teraz możesz także używać Ctrl+L

Zrzut ekranu jest dość stary. Oto jeden dla Visual Studio 2019 (w menu debugowania):

Opcja menu stosu wywołań Visual Studio 2019

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.