Исключение
A Python не приведет к остановке GDB - оно знает только остановку на сигналах , а не на «обычной» частной обработке ошибок. Может быть возможно установить точку останова для функций Python, которые устанавливают индикатор ошибки Python, но они могут быть встроенными (или быть макросами).
Удобно, что вы можете установить «точку останова» для функции magi c, которая генерирует C ++ исключений - она называется catchpoint и устанавливается со странным catch throw
. (Это будет очень шумно, если (пойманные) исключения встречаются чаще, чем они должны быть в вашем коде!)
Наконец, обратите внимание, что вы никогда не сможете позволить исключению C ++ escape в Python - даже для того, чтобы поймать его в еще более широком контексте C ++, потому что Python не знает, как убирать в этих обстоятельствах.