, скажем, у нас есть следующий мега-простой сценарий Python:
print "Initializing"....
a=10
print "Variable value is %d" % (a)
print "All done!"
... и сказать, я бы хотел отладить Этот скрипт, поместив точку останова в строке A = 10
, а затем перейти через скрипт.
Теперь я хотел бы использовать GDB
для этого, потому что я хотел бы отладить привязки Python, которая может прийти как часть общего объекта ( .so
)) Библиотека - следовательно, я бы идеально поместил точку останова на линии кода Python, а затем «вступить в« в части общего объекта »... ( Обратите внимание, что Отладка DobuggingWithgdb - Pythoninfo Wiki «Это действительно явно утверждает, что это возможно )
Проблема в том, что это: GDB
самостоятельно не может распознать точки останова, помещенные на строку сценариев Python:
$ gdb python
GNU gdb (GDB) 7.3.50.20110806-cvs
...
Reading symbols from /usr/bin/python...(no debugging symbols found)...done.
(gdb) b test.py:3
No symbol table is loaded. Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (test.py:3) pending.
(gdb) run test.py
Starting program: /usr/bin/python test.py
...
... и в то время как Весь скрипт Python работает в GDB
, точка останова просто никогда не достигается.
Так - это то, что я хочу сделать, вообще возможно с GDB
; А если нет, какие другие альтернативы я бы имел для чего-то подобного?