Кто-нибудь знает, почему в некоторых местах код Python внутри gdb неправильно обрабатывает исключения? Или, чтобы уточнить, возможно, сообщение об исключении отправляется не в буфер *gud. gdb не возвращает управление подсказке, как ожидалось.
(Я использую GNU gdb (GDB) 7.11.50.20160212-git в режиме Emacs (24.5.1) gud)
Например:
class SomeEvent():
def __init__(self, ...):
... do something ...
def __call__(self):
... do something BAD here ...
gdb.post_event(SomeEvent())
Когда «SomeEvent» обрабатывается, он просто выполняет «__call__» до плохого кода, возвращается и затем продолжает нормальную работу (как я вижу).
Я заметил такое поведение в других методах типа «обратный вызов», таких как Stop() подкласса gdb.Breakpoint.