调试python VM

IT *_*nja 0 python debugging python-2.7

是否有调试器可以在运行Python代码时调试Python虚拟机,类似于GDB使用C/C++的方式?我在网上搜索和所遇到的pdb,但这个步骤通过执行的代码 Python解释器,而不是Python解释器作为其运行程序.

ick*_*fay 7

Python的参考实现CPython是用C语言编写的.您可以使用GDB来调试它,就像调试用C编写的任何其他程序一样.

也就是说,巨蟒确实有在GDB使用的几个小帮手下埋Misc/gdbinit.它有评论来描述每个命令的作用,但为了方便我会在这里重复它们:

  • pyo:转储一个PyObject *.
  • pyg:转储一个PyGC_Head *.
  • pylocals:打印当前Python堆栈框架的局部变量.
  • lineno:获取当前的Python行号.
  • pyframe:打印源文件名,行和函数.
  • pyframev: pyframe +pylocals
  • printframe: pyframe如果在PyEval_EvalFrameEx; frame否则就是内置的
  • pystack:打印Python堆栈跟踪.
  • pystackv:使用局部变量打印Python堆栈跟踪.
  • pu:打印Unicode字符串.

看起来Fedora项目也组装了自己的命令集合,以协助您调试,也可能需要查看.