在Emacs中调试Python程序
我该如何在emacs中调试Python程序呢?我正在使用 python-mode.el
。
我找到了一些建议:
import pdb; pdb.set_trace();
但我不太确定该怎么用。
3 个回答
20
realgud
这个包(可以从MELPA获取)支持PDB(还有很多其他调试工具),并且有一些Emacs的PDB没有的很酷的功能。
我最喜欢的功能是快捷键模式。一旦你开始调试一个程序,你可以直接在源代码窗口里按 n
、s
、c
等键,而不需要在PDB的输入框里输入这些命令。它还支持类似Visual Studio的快捷键绑定,比如功能键(f10
、f11
、f5
等)。
安装完RealGUD后,你需要运行 M-x load-feature realgud
来加载它,然后可以通过 M-x realgud:pdb
来启动 pdb
。
22
对我来说,我需要把默认的“pdb”替换成
python -m pdb myscript.py
49
输入 M-x cd
来切换到你想调试的程序所在的文件夹。
接着输入 M-x pdb
。系统会提示你输入 Run pdb (like this): pdb
。在这里输入你要调试的程序名称,比如 test.py
。
在 (Pdb)
提示符下,输入 help
可以了解如何使用 pdb。
另外,你也可以把
import pdb
pdb.set_trace()
直接放在你的程序里(比如 test.py
)。然后输入 M-x shell
来打开一个命令行窗口。当你运行你的程序时,程序会在执行到 pdb.set_trace()
的地方停下来,这样你就可以开始调试了。