我想知道是否有辦法用多個參數啓動pdb。用多個參數啓動python pdb?
目前,我知道我能做到這一點:
python -m pdb script.py
,然後手動設置破發點,用:
(Pdb) break
(Pdb) break 2
Breakpoint 1 at /home/ozn/test2.py:2
(Pdb) break 3
Breakpoint 2 at /home/ozn/test2.py:3
(Pdb) break
我還可以插入:
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
我無法列出所有內部pdb
當我與命令break
斷點。 這裏是例如:我運行該文件時,它產生的輸出,並切換到pdb
會話,但命令break
是空的:
[2] [email protected]:~ $ python 1.py
hello
> /home/ozn/1.py(4)<module>()
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
和裏面的時候,提示應該這樣做:
(Pdb) break
(Pdb) break 2
Breakpoint 1 at /home/ozn/test2.py:2
(Pdb) break 3
Breakpoint 2 at /home/ozn/test2.py:3
(Pdb) break
另外,I W當運行python模式並帶有一些斷點時,應該很樂意在vim
之內運行我的腳本。現在,它只是掛起。也就是說,如果我按<lead>r
當代碼中有破發點,它將掛斷,或者在最好的情況下會產生一些垃圾是這樣的:
~
~
~
~
~
~
~
Code running.> /home/ozn/1.py(4)<module>()
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
?