如何使用linux下gdb來調試python程序?
(1)假設要debug的進程號為1000,運行如下命令:$ gdb -p 1000使用此命令即可使gdb附加到進程。
(2)載入libpython腳本如果你的gdb是redhat或fedora等廠商修改過的,會有--python選項,使用此選項即可指定gdb啟動時載入的Python擴展腳本(此腳本是擴展gdb的,不是我們需要debug的腳本)。$ gdb --python /path/to/libpython .py -p 1000如果安裝的是GNU的gdb,就需要打開gdb后手動載入libpython.py腳本(gdb) python> import sys>sys.path.insert(0, '/path/to/libpython.py' )> import libpython>end(gdb)這時就可以使用py-bt命令打印當前線程的Python traceback了。
libpython還提供很多命令,例如py-print打印變量,py-locals打印所有本地變量等等,詳細可打開libpython.py查看。