python36.lib如何区分release debug_Python Module_pdb_DEBUG 方法

In [8]: run stack_demo.py

p(U)sh

p(O)p

(V)iew

(Q)uit

Enter choice: u

You picked: [u]

> d:\development\python27\workspace\stack_demo.py(8)pushit()

-> stack.append(raw_input('Enter New String: ').strip()) # 开始进入调试,该语句的前一条语句为 pdb.set_trace()

(Pdb) l

3 def pushit():

4

5 import pdb

6 pdb.set_trace()

7

8 -> stack.append(raw_input('Enter New String: ').strip())

9

10 def popit():

11 if len(stack) == 0:

12 print "Cannot pop from an empty stack!"

13 else:

(Pdb) j 16 # 不能跳转到还没有执行过的代码行

*** Jump failed: line 16 comes after the current code block

(Pdb) j 3

> d:\development\python27\workspace\stack_demo.py(3)pushit()

-> def pushit():

(Pdb) s # 进入一个函数内部

> d:\development\python27\workspace\stack_demo.py(6)pushit()

-> pdb.set_trace()

(Pdb) s # 还可以进入到调用函数的内部

--Call--

> d:\development\python27\lib\pdb.py(1250)set_trace()

-> def set_trace():

(Pdb) c # 继续执行代码

> d:\development\python27\workspace\stack_demo.py(8)pushit()

-> stack.append(raw_input('Enter New String: ').strip())

(Pdb) r # 执行代码直到从当前函数返回

Enter New String: 'jmilkfan'

--Return--

> d:\development\python27\workspace\stack_demo.py(8)pushit()->None

-> stack.append(raw_input('Enter New String: ').strip())

(Pdb) l

25 (V)iew

26 (Q)uit

27

28 Enter choice: """

29

30 -> while True:

31 while True:

32 try:

33 choice = raw_input(pr).strip()[0].lower()

34 except (EOFError, KeyboardInterrupt, IndexError):

35 choice = 'q'

(Pdb) c

p(U)sh

p(O)p

(V)iew

(Q)uit

Enter choice: u

You picked: [u]

> d:\development\python27\workspace\stack_demo.py(8)pushit()

-> stack.append(raw_input('Enter New String: ').strip())

(Pdb) s

--Call--

> d:\development\python27\lib\site-packages\win_unicode_console\raw_input.py(71)raw_input()

-> def raw_input(prompt=""):

(Pdb) p pr

'\n\tp(U)sh\n\tp(O)p\n\t(V)iew\n\t(Q)uit\n\t\n\tEnter choice: '

(Pdb) n

p(U)sh

p(O)p

(V)iew

(Q)uit

Enter choice: v

> d:\development\python27\workspace\stack_demo.py(37)showmenu()

-> print '\nYou picked: [%s]' % choice

(Pdb) n

You picked: [v]

> d:\development\python27\workspace\stack_demo.py(38)showmenu()

-> if choice not in 'uovq':

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(41)showmenu()

-> break

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(44)showmenu()

-> if choice == 'q':

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(46)showmenu()

-> CMDs[choice]()

(Pdb) n

[u"'jmilkfan'", u"'fanguiju'", u"'fanguiju'"]

> d:\development\python27\workspace\stack_demo.py(30)showmenu()

-> while True:

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(31)showmenu()

-> while True:

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(32)showmenu()

-> try:

(Pdb) n

> d:\development\python27\workspace\stack_demo.py(33)showmenu()

-> choice = raw_input(pr).strip()[0].lower()

(Pdb) n

p(U)sh

p(O)p

(V)iew

(Q)uit

Enter choice: v

> d:\development\python27\workspace\stack_demo.py(37)showmenu()

-> print '\nYou picked: [%s]' % choice

(Pdb) c

You picked: [v]

[u"'jmilkfan'", u"'fanguiju'", u"'fanguiju'"]

p(U)sh

p(O)p

(V)iew

(Q)uit

Enter choice: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值