Я пытаюсь написать простое расширение Python для GDB, которое выводит в файл при каждом достижении точки останова. Согласно документации, «класс gdb.Breakpoint можно разделить на подклассы» (см. http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints-In-Python.html)
Однако, когда я пробую следующий код, я получаю сообщение об ошибке «Ошибка типа: ошибка при вызове баз метаклассов. Тип« gdb.Breakpoint »не является приемлемым типом базы»
class MyBreakpoint(gdb.Breakpoint):
def stop (self):
print "break"
return False
Я использую Ubuntu 11.04 и gdb 7.2. Любая помощь или ссылки на лучшую документацию будут оценены. Спасибо!
Мои точные шаги:
$ gdb
GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) source t.py
Traceback (most recent call last):
File "t.py", line 3, in <module>
class MyBreakpoint(gdb.Breakpoint):
TypeError: Error when calling the metaclass bases
type 'gdb.Breakpoint' is not an acceptable base type
(gdb)