我想知道是否有一种方法可以用多个参数启动pdb。在
目前我知道我可以做到:python -m pdb script.py
然后手动设置断点,使用:
^{pr2}$
我还可以插入:pdb.set_trace() (or with ipdb.set_trace()
在不同的行中(这可以通过vim中的python模式来简化)。
但是,如果我采取这种方法,例如# note: break points from python-mode in vim
print "hello "
a = 1
import ipdb; ipdb.set_trace() # XXX BREAKPOINT
a =+1
import ipdb; ipdb.set_trace() # XXX BREAKPOINT
print a
i = 9
我无法列出命令break在pdb内的所有断点。
以下是示例:我运行该文件,它生成输出,并切换到pdb会话,但命令break为空:[2] ozn@deboz:~ $ python 1.py
hello
> /home/ozn/1.py(4)()
3 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
----> 4 a =+1
5 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
ipdb> list
1 print "hello "
2 a = 1
3 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
----> 4 a =+1
5 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
6 print a
7
8 i = 9
ipdb> break
ipdb>
理想情况下,我希望像这样启动pdb:python -m pdb script.py b 2 b 3
在内部时,提示符应执行以下操作:
^{pr2}$
或者,当运行带有一些断点的python模式时,我很乐意在vim内运行我的脚本。现在,它只是挂着。意思是,如果我在代码中有断点时按r,它将挂起,或者在最好的情况下会产生如下垃圾:~
~
~
~
~
~
~
Code running.> /home/ozn/1.py(4)()
3 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
----> 4 a =+1
5 import ipdb; ipdb.set_trace() # XXX BREAKPOINT
ipdb>
当将断点设置为import pdb; pdb.set_trace()时,vim会完全挂起并生成以下消息:Code running.
问题:我的vim python模式是否可以更好地配置为使用断点?在
你知道用多个参数运行“调试脚本”或启动pdb的方法吗?
额外问题:
有没有插件vdebug的替代品?在