您好,登錄后才能下訂單哦!
本篇內容介紹了“如何利用PDB實現Python程序調試”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
如何進行Python程序調試?
1.加入斷點
在需要插入斷點的地方,加入紅色部分代碼:如果_DEBUG值為True,則在該處開始調試(加入_DEBUG的原因是為了方便打開/關閉調試)。
#!/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.開始運行Python程序調試
運行程序./debug_demo.py,得到
> /usr/local/qspace/user_network/debug_demo.py(7)debug_demo() -> if val <= 1600 : (PDB)
-> val <= 1600 : 指示當前執行的語句,(PDB)等待你的調試指令. PDB的指令很豐富,輸入h指令可以查看指令的使用方法。下面簡單介紹Python程序調試常用指令:
查看代碼上下文,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)
左邊是行號,右邊是代碼正文。
監視變量:p 變量名
(PDB) p val 4500 (PDB)
單步執行: 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
加入斷點:b 行號
(PDB) b 14
運行到斷點: 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
執行到函數返回前: r
(PDB) r level 3 195.0 --Return-- > /****() ->None -> print (val - 3500) * 0.10 + (3500-1600) * 0.05 (PDB)
說明:
PDB還有很多其他很多有用的指令,讀者可以自行探索。輸入h,h 命令。就可以得到命令的詳細幫助。
“如何利用PDB實現Python程序調試”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。