以前在windows下一直用的idel帶的功能調(diào)試python程序,在linux下沒調(diào)試過。(很多時候只是print)就從網(wǎng)上查找一下~
方法:
python -m pdb a.py
a.py是python文件。
(Pdb)模式下的常用命令:
q
退出debug
h 即help,打印所有可以命令
h w
打印命令 w 的含意
n
執(zhí)行當(dāng)前行直到到達(dá)下一行或直到它返回
s
執(zhí)行當(dāng)前行,一有可能就停止(比如當(dāng)前行有一個函數(shù)調(diào)用)。它和n(next)的區(qū)別是當(dāng)前行中有函數(shù)調(diào)用時s(step)會停止當(dāng)前行的執(zhí)行而去調(diào)用那個函數(shù),而n不會停止,直到計算完成這一行(到達(dá)下一行)。
b(reak) [[filename:]lineno | function[, condition]]
設(shè)置斷點,可以是行號或函數(shù)。如 b 10, b foo, b foo,n == 5,最后在函數(shù)foo()入口處設(shè)置一個斷點,但僅當(dāng)n的值是5時才有效。當(dāng)b命令無參數(shù)時,打印所有斷點。
tb(reak) [[filename:]lineno | function[, condition]]
臨時斷點,只hit一次。
disable [bpnumber [bpnumber ...]]
使指點行的斷點(們)失效
enable [bpnumber [bpnumber ...]]
使指定行上的斷點(們)有效
c
繼續(xù)執(zhí)行程序,直到遇到下一個斷點
w
即where,打印當(dāng)前執(zhí)行點的位置
l [first, [,last]]
輸出當(dāng)前行附近的源碼
p expression
執(zhí)行一個表達(dá)式當(dāng)打印其值。
a(rgs)
打印當(dāng)前函數(shù)的參數(shù)及其值
<直接回車>
重復(fù)執(zhí)行上次的命令
并遇到pdb不認(rèn)識的命令時,會將它當(dāng)成python表達(dá)式執(zhí)行。如果你想執(zhí)行的表達(dá)時,最前面加上 ! 字符,比如 !n == 5
多個debug命令可以寫在一行上,中間用兩個分號分隔,如 s;;s。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
