在開發(fā)簡(jiǎn)單程序的時(shí)候,可以通過加入print或是log的方式進(jìn)行程序的調(diào)試,但是對(duì)于復(fù)雜的程序這種方式往往比較困難,這時(shí)就需要引入一種可以進(jìn)行單步調(diào)試以及可以方便查看變量的方法來進(jìn)行程序問題的排查,Python 的pdb就是用來解決這個(gè)問題的。
命令 | 用途 |
---|---|
break 或 b | 設(shè)置斷點(diǎn) |
continue 或 c | 繼續(xù)執(zhí)行程序, 或是跳到下個(gè)斷點(diǎn) |
list 或 l | 查看當(dāng)前行的代碼段 |
step 或 s | 進(jìn)入函數(shù) |
return 或 r | 執(zhí)行代碼直到從當(dāng)前函數(shù)返回 |
exit 或 q | 中止并退出 |
next 或 n | 執(zhí)行下一行 |
p 或! | 打印變量的值,例如p a |
help 或 h | 幫助 |
# utils.pydef add(a,b): return a+b# main.pyimport utilsdef cal(a,b): import pdb;pdb.set_trace() #引入pdb代碼片段,不需要時(shí),可以注掉 c=utils.add(a,b) print cif __name__=='__main__': cal(3,4)
root@native-sunaihua-5-25-18:~/pdb_test# python main.py #開始> /root/pdb_test/main.py(5)cal()-> c=conf.add(a,b)(Pdb) s #進(jìn)入調(diào)用函數(shù)--Call--> /root/pdb_test/conf.py(1)add()-> def add(a,b):(Pdb) l #查看代碼 1 -> def add(a,b): 2 return a+b[EOF](Pdb) b 2 #設(shè)置斷點(diǎn)Breakpoint 1 at /root/pdb_test/conf.py:2(Pdb) c #繼續(xù)執(zhí)行到下一個(gè)斷點(diǎn)> /root/pdb_test/conf.py(2)add()-> return a+b(Pdb) n #執(zhí)行下一行 --Return--> /root/pdb_test/conf.py(2)add()->7-> return a+b(Pdb) n> /root/pdb_test/main.py(6)cal()-> print c(Pdb) n7--Return--> /root/pdb_test/main.py(6)cal()->None-> print c(Pdb) p c #查看c變量的值 7(Pdb) q #退出
聯(lián)系客服