719*_*016 3 python debugging emacs
我是一名学习Python的Perl程序员.我正在python -m pdb script.py使用Python 2.7.3 在emacs调试中编写我的代码.
我想知道在Perl中添加一个$DB::single=1;1;特定的python代码行的python等价是什么,这样当运行调试器时,它将停在那里,即使它是执行开始的不同源代码文件(例如正在使用的库中的一行代码script.py.
有任何想法吗?
编辑:看后pdb.set_trace()还是ipdb.set_trace(),我认为他们好的解决办法,但不是100%相同的行为$DB::single=1;1;.这是,我希望断点位于set_trace行,而不是下一行.这是在Perl中$DB::single=1;通过在同一行中添加另一个语句来实现的:1;这就是它$DB::single=1;1;.
使用set_trace(),我在语句后面的行中获得断点,即使我1;在它之后添加.与Perl相比,仍然没有完全理解Python如何处理多语句行.
任何人?

有任何想法吗?
以下是否满足您的需求?
import ipdb; ipdb.set_trace()
Run Code Online (Sandbox Code Playgroud)
只需在代码中的某处写入它并运行脚本即可python script.py.
你需要ipython调试器(ipython是一个增强的python解释器):
pip install ipdb
Run Code Online (Sandbox Code Playgroud)
编辑:你知道如果你运行M-x pdb RET pdb myscript.py RET,你将有一个pdb提示符,emacs将跟踪另一个缓冲区中的源代码,但它不会停在你定义的位置ipdb.set_trace()?
虚拟环境?
如果你使用虚拟环境,你有几个选择.我建议virtualenvwrapper从ELPA 安装并运行M-x venv-workon.
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |