调试emacs中的python程序

50 python debugging emacs pdb

如何在emacs中调试python程序?

我用 python-mode.el

我得到了参考

import pdb; pdb.set_trace();
Run Code Online (Sandbox Code Playgroud)

但不知道如何使用它.

unu*_*tbu 46

键入M-x cd以将目录更改为您要调试的程序的位置.类型M-x pdb.系统会提示您Run pdb (like this): pdb.输入程序的名称(例如test.py).

(Pdb)提示符下,键入help以了解如何使用pdb.

或者,你可以把

import pdb 
pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

在你的程序内(例如test.py).现在输入M-x shell以获取shell提示符.当你运行你的程序,你会被倾倒入pdb在点在哪里pdb.set_trace()执行.

  • @matt with Mx pdb你可以在源文件中设置断点,当你单步执行时,游标将显示当前的执行位置:http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs. HTML (9认同)
  • 可以在这里找到图形教程:http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html (2认同)

Ben*_*Ben 21

对我来说,我需要替换默认的"pdb"

python -m pdb myscript.py
Run Code Online (Sandbox Code Playgroud)


Clé*_*ent 15

realgud软件包(可从MELPA获得)支持PDB(在众多其他调试器中),并且具有Emac的PDB所没有的一系列简洁功能.

我最喜欢的是短键模式.一旦开始调试程序,可以按n,s,c等就在源窗口中,而不必在PDB缓冲器输入这些命令.它还支持视觉工作室风格的按键组合使用功能键(f10,f11,f5等).

安装RealGUD后,您需要运行M-x load-feature realgud以加载它,然后您就可以开始pdbM-x realgud:pdb.

  • 我应该补充一点,我有一个小小的利益冲突.我发现这个包很干净,我开始乱砍它,现在变成了一个共同维护者. (5认同)