Come trovo la traccia dello stack in Visual Studio?


Risposte:


277

Durante il debug , vai su Debug -> Windows -> Call Stack


38
==> "durante il debug" <==
prabhakaran

2
Lo stack di chiamate in VS 2013 non mostra mai nulla di utile. Sarebbe bello mostrare ai chiamanti gli oggetti che generano un'eccezione non gestita. C'è un'opzione nascosta per renderlo utile? Forse puoi espandere la tua risposta per fornire esempi.
James,

1
Adoro come tutti gli altri in altri thread simili a questo abbiano perso totalmente la parte PIÙ importante della risposta.
AvetisG,

Bene grazie! Funziona anche durante l'esecuzione di VS CE 2015 + IE9 e il debug della traccia dello stack JavaScript di IE9!
Alexey Volodko,

130

Durante il debug , quando si raggiunge un punto di interruzione .

CTRL+ ALT+C

inserisci qui la descrizione dell'immagine


16
+1 per l'immagine = D (Mi piace quando qualcuno mette una forza per fare uno screenshot)
Michel Ayres

39

Il tasto di scelta rapida predefinito è Ctrl-Alt-C.


16
È importante notare che è necessario essere in modalità "debug" per visualizzare la finestra dello stack di chiamate.
dss539,

1
@ dss539 Penso che tu abbia un debugger collegato , può eseguire il debug o rilasciare build. È anche importante avere abbastanza simboli caricati per la sessione di debug, altrimenti si otterranno callstack fuorvianti / spazzatura.
Chris O

@ChrisO - Sì, intendevo dire che Visual Studio dovrebbe essere nello stato "debugging". Mi dispiace, posso vedere come la mia formulazione originale lascia spazio a interpretazioni errate.
dss539,

16

Intendi trovare una traccia dello stack della posizione dell'eccezione generata ? Questo è Debug / Eccezioni, o meglio - Ctrl-Alt-E. Impostare i filtri per le eccezioni che si desidera interrompere.

C'è anche un modo per ricostruire la pila dei lanciatori dopo che l'eccezione è stata rilevata, ma è davvero spiacevole . Molto, molto più facile impostare una pausa sul tiro.



1

Consideralo come l'aggiornamento corrente (Windows 10 (versione 1803) e Visual Studio 2017): non sono stato in grado di visualizzare la finestra di traccia dello stack e ho trovato un'opzione / voce di menu per visualizzarlo. Indagando ulteriormente, sembra che questa funzione non sia disponibile su Windows 10. Per ulteriori informazioni, consultare:

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

Copiato dal collegamento precedente: "Questa funzione non è disponibile in Windows 10, versione 1507 e versioni successive di WDK."


Questo sembra davvero strano. Qualcuno ha idea di un modo alternativo per farlo nella versione 1507 e successive? Questa funzione è molto utile ...
nimble_ninja

0

Per Visual Studio 2019, il collegamento (durante il debug e l'arresto in un punto di interruzione) è:

Ctrl+ Alt+ Ce ora puoi anche usare Ctrl+L

Lo screenshot è piuttosto vecchio. Eccone uno per Visual Studio 2019 (sotto il menu debug):

Opzione di menu Stack di chiamata di Visual Studio 2019

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.