获取python程序的堆栈跟踪以进行调试

时间:2016-08-22 20:22:47

标签: python python-3.x gdb

为了获得python程序的堆栈跟踪,我试图关注this example。在文章中,作者调用gdb如下。但是,我的环境的python版本是python 3.4.4。当我输入

python3.4-dbg  testmyplotlib2.py &

错误消息是找不到python3.4-dbg:command。使用gdb获取stacktrace的正确方法是什么。

enter image description here

2 个答案:

答案 0 :(得分:1)

你在做什么操作系统?看起来你需要安装python3.4-dbg。如果您使用的是Linux,则需要输入:

sudo apt-get install python3.4-dbg

答案 1 :(得分:0)

GDB是一个很好的调试程序,但是如果打印回溯是你安装GDB的唯一原因,那就不要这样做了,那就太过分了。你可以import traceback

  1. 使用traceback.format_stack()获取一系列通往程序中的位置的调用
  2. 使用traceback.print_stack()将其打印到命令行
  3. 使用print traceback.format_exc()打印导致当前异常的内容(适用于except clasuse)