2008-09-06 11 views
3

J'utilise le langage de programmation d pour écrire un programme, et j'essaie d'utiliser ddbg pour le déboguer. Quand il y a une exception, je veux que le programme casse chaque fois qu'une exception est levée pour que je puisse inspecter la pile.Comment puis-je interrompre l'exception en utilisant ddbg

Sinon, existe-t-il un autre débogueur qui fonctionne avec d? Existe-t-il un autre moyen d'obtenir une trace de pile lorsqu'il existe une exception?

Répondre

0

n'ont pas utilisé ddbg encore, mais d'après la documentation à http://ddbg.mainia.de/doc.html il y a le

onex < cmd; cmd; ... > sur exception exécuter la liste des commandes

commande.

0

J'ai vu la commande onex, mais je n'ai pas trouvé de commande de rupture. Les deux commandes ci-dessous ne semblent pas fonctionner.

onex break 
onex b 
+0

Ceci n'est pas une forme de discussion, vous devez éditer la question pour ajouter cette information et supprimer cette réponse. –

1

Vous souhaitez rompre en cas d'exception levée ou d'exceptions non interceptées? Parce que je pense que ce dernier est déjà le comportement par défaut.

Vous le savez probablement, mais vous obtenez la trace de la pile en tapant 'us' (dérouler la pile) à l'invite. Juste essayer d'éliminer l'évidence.

De toute façon, je n'ai jamais eu besoin d'utiliser onex. Je n'en ai jamais entendu parler. Une autre chose que vous pourriez essayer est de forcer l'exécution à s'arrêter en mettant en place des affirmations.

+0

Je veux faire une pause sur le site de lancement afin que je puisse inspecter les variables locales. – user4891

1

Vous pouvez obtenir des traces de pile sur des exceptions en modifiant le temps d'exécution, soit dit en passant. La meilleure ressource est probablement this backtrace hack page