Comment trouver la trace de pile dans Visual Studio?

Réponses:

277

Pendant le débogage , allez dans Déboguer -> Windows -> Pile d'appels

cdonner
la source
38
==> "pendant le débogage" <==
prabhakaran
2
La pile d'appels dans VS 2013 ne montre jamais rien d'utile. Ce serait bien qu'il montre les appelants des objets qui lèvent une exception non gérée. Existe-t-il une option cachée pour le rendre utile? Peut-être pourriez-vous développer votre réponse pour donner des exemples.
James
1
J'adore la façon dont tout le monde dans d'autres sujets similaires à celui-ci a totalement manqué la partie la plus importante de la réponse.
AvetisG
Bien, merci! Cela fonctionne même, tout en exécutant VS CE 2015 + IE9 et en déboguant la trace de pile JavaScript d'IE9!
Alexey Volodko
130

Pendant le débogage , lorsque vous atteignez un point d'arrêt .

CTRL+ ALT+C

entrez la description de l'image ici

CharithJ
la source
16
+1 pour la photo = D (j'aime quand quelqu'un met une force pour faire une capture d'écran)
Michel Ayres
39

La touche de raccourci par défaut est Ctrl-Alt-C.

Brian Rasmussen
la source
16
Il est important de noter que vous devez être en mode «débogage» pour voir la fenêtre de la pile d'appels.
dss539
1
@ dss539 Je pense que vous avez un débogueur attaché , il peut déboguer ou publier la version. Il est également important que vous ayez suffisamment de symboles chargés pour votre session de débogage, sinon vous obtiendrez des piles d'appels trompeuses / inutiles.
Chris O
@ChrisO - Oui, je voulais dire que Visual Studio devrait être à l'état de «débogage». Désolé, je peux voir comment mon libellé d'origine laisse place à une mauvaise interprétation.
dss539
16

Voulez-vous dire trouver une trace de pile de l'emplacement de l'exception levée ? C'est soit Debug / Exceptions, soit mieux - Ctrl-Alt-E. Définissez des filtres pour les exceptions sur lesquelles vous souhaitez interrompre.

Il y a même un moyen de reconstruire la pile des lanceurs après que l'exception a été capturée, mais c'est vraiment désagréable . Beaucoup, beaucoup plus facile de mettre une pause sur le lancer.

Ofek Shilon
la source
1

Considérez cela comme la mise à jour actuelle (Windows 10 (version 1803) et Visual Studio 2017): je n'ai pas pu afficher la fenêtre de trace de la pile et j'ai trouvé une option / élément de menu pour l'afficher. En poursuivant vos recherches, il semble que cette fonctionnalité ne soit pas disponible sur Windows 10. Pour plus d'informations, veuillez consulter:

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

Copié à partir du lien ci-dessus: "Cette fonctionnalité n'est pas disponible dans Windows 10, version 1507 et versions ultérieures du WDK."

Vin
la source
Cela semble vraiment étrange. Quelqu'un a-t-il une idée d'une autre façon de faire cela dans la version 1507 et ultérieure? Cette fonctionnalité est très utile ...
nimble_ninja
0

Pour Visual Studio 2019, le raccourci (lors du débogage et arrêté à un point d'arrêt) est:

Ctrl+ Alt+ Cet maintenant vous pouvez également utiliser Ctrl+L

La capture d'écran est assez ancienne. En voici un pour Visual Studio 2019 (sous le menu de débogage):

Option de menu de pile d'appels Visual Studio 2019

braX
la source