web-dev-qa-db-fra.com

Point d'arrêt sur les exceptions (équivalent du catch catch de gdb)

J'essaie d'utiliser LLDB pour le débogage C++ et je souhaite m'arrêter si une exception est générée, telle que le catch throw de gdb. Je ne trouve pas d'équivalent dans la documentation de LLDB.

40
plaisthos

Dans Xcode, vous pouvez définir un point d'arrêt d'exception (Affichage> Navigateurs> Afficher le navigateur de points d'arrêt, appuyez sur le bouton + en bas de la fenêtre de la liste des points d'arrêt pour ajouter un nouveau point d'arrêt).

Si vous utilisez la ligne de commande lldb, placez un point d'arrêt sur __cxa_throw pour les levées d'exceptions C++, objc_exception_throw pour les levées d'objectifs Objective-C.

Pour toutes les exceptions c ++: break set -E C++.

45
Jason Molenda

Utilisez break set -E c++ pour interrompre toutes les exceptions et break set -F std::range_error pour interrompre une exception spécifique.

47
Jonas Klemming

Je pense que breakpoint set -w <boolean> est la bonne réponse, vous pouvez utiliser help breakpoint set pour voir le document.

0
Casa Taloyum