如何利用PDB實(shí)現(xiàn)Python程序調(diào)試

本篇內(nèi)容介紹了“如何利用PDB實(shí)現(xiàn)Python程序調(diào)試”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營(yíng)理念,通過多達(dá)十年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營(yíng)銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都報(bào)廢汽車回收等企業(yè),備受客戶稱譽(yù)。

如何進(jìn)行Python程序調(diào)試?

1.加入斷點(diǎn)

在需要插入斷點(diǎn)的地方,加入紅色部分代碼:如果_DEBUG值為True,則在該處開始調(diào)試(加入_DEBUG的原因是為了方便打開/關(guān)閉調(diào)試)。

#!/usr/bin/python   _DEBUG=True def debug_demo(val):   if _DEBUG == True:   import PDB   PDB.set_trace()   if val <= 1600 :   print "level 1"   print 0   elif val <= 3500 :   print "level 2"   print (val - 1600) * 0.05   elif val <= 6500 :   print "level 3"   print (val - 3500) * 0.10 + (3500-1600) * 0.05   else:   print "level 4"   print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05   #~def debug_demo   if __name__ == "__main__":   debug_demo(4500)

2.開始運(yùn)行Python程序調(diào)試

運(yùn)行程序./debug_demo.py,得到

> /usr/local/qspace/user_network/debug_demo.py(7)debug_demo()   -> if val <= 1600 :   (PDB)

-> val <= 1600 : 指示當(dāng)前執(zhí)行的語句,(PDB)等待你的調(diào)試指令. PDB的指令很豐富,輸入h指令可以查看指令的使用方法。下面簡(jiǎn)單介紹Python程序調(diào)試常用指令:

查看代碼上下文,l(小寫L)

(PDB)   _DEBUG=True   def debug_demo(val):   if _DEBUG == True:   import PDB   PDB.set_trace()   -> if val <= 1600 :   print "level 1"   print 0   elif val <= 3500 :    print "level 2"   print (val - 1600) * 0.05   (PDB)

左邊是行號(hào),右邊是代碼正文。

監(jiān)視變量:p 變量名

(PDB) p val   4500   (PDB)

單步執(zhí)行: n

-> elif val <= 3500 :   (PDB)  import PDB   PDB.set_trace()   if val <= 1600 :   print "level 1"   print 0   -> elif val <= 3500 :   print "level 2"   print (val - 1600) * 0.05   elif val <= 6500 :   print "level 3"   print (val - 3500) * 0.10 + (3500-1600) * 0.05

加入斷點(diǎn):b 行號(hào)

(PDB) b 14

運(yùn)行到斷點(diǎn): c

(PDB) c   > /*****   -> print "level 3"   (PDB)  print 0   elif val <= 3500 :   print "level 2"   print (val - 1600) * 0.05   elif val <= 6500 :   B-> print "level 3"   print (val - 3500) * 0.10 + (3500-1600) * 0.05   else:   print "level 4"   print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05

執(zhí)行到函數(shù)返回前: r

(PDB) r   level 3   195.0   --Return--   > /****()   ->None   -> print (val - 3500) * 0.10 + (3500-1600) * 0.05   (PDB)

說明:

PDB還有很多其他很多有用的指令,讀者可以自行探索。輸入h,h 命令。就可以得到命令的詳細(xì)幫助。

“如何利用PDB實(shí)現(xiàn)Python程序調(diào)試”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站標(biāo)題:如何利用PDB實(shí)現(xiàn)Python程序調(diào)試
瀏覽路徑:http://muchs.cn/article14/ghhige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)