Отладка: выступая через сценарий Python с использованием GDB?

, скажем, у нас есть следующий мега-простой сценарий 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 ; А если нет, какие другие альтернативы я бы имел для чего-то подобного?

24
задан casperOne 16 April 2013 в 11:00
поделиться