未知
pdbinject的Python项目详细描述
安装
您将需要使用python支持编译gdb,以及pdbinject包:
easy_install pdbinject
苹果操作系统笔记
默认的gdb不是用python支持编译的。
自制修复了以下问题:
brew install gdb
注意
还有更多的步骤,我放弃了想办法让它发挥作用。
用法
$ python example/loop.py & Process running with PID 6319 $ sudo pdbinject 6319 Remote PDB has been configured on port 4444 nc 127.0.0.1 4444 $ nc 127.0.0.1 4444 --Return-- > /home/ubuntu/pdbinject/pdbinject/debugger.py(16)run()->None -> debugger.set_trace()
现在玩得开心点:
from guppy import hpy hp = hpy() heap = hp.heap() heap.get_rp()
要在所有线程中打印stacktrace,请执行以下操作:
import sys, traceback for thread_id, stack in sys._current_frames().iteritems(): print 'Thread id: %s\n%s' % (thread_id, ''.join(traceback.format_stack(stack)))