您好,登錄后才能下訂單哦!
這篇文章主要講解了Python如何使用pdb調試代碼,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
什么是pdb
不知道大家在用Python寫代碼出現報錯時是怎樣調試的,從報錯提示定位回去一步一步check每一行?如果沒有IDE或者命令行寫代碼時又該怎樣快速調試?這時如果使用pdb進行調試將會異常方便。
Pdb就是Python debugger,是python自帶的調試器。通過 pdb 我們可以交互式的查看運行過程中變量的值、設置斷點、逐行執行代碼、查看代碼的調用棧等等。并且如果環境沒有 GUI 的話,那么 pdb 能夠助你更快速的調試代碼。
首先我們準備一段有問題的代碼用于示例
def test(p): p = p + 1 return p def fastdebug(): print('start') temp = 'ready' print('ok') res = test(temp) print('end') fastdebug()
這段代碼很簡單,當我們執行fastdebug()時,會執行fastdebug函數并在該函數中調用另一個函數test(),test函數接收一個參數p并計算p+1的值傳出。很明顯,在高亮的一句代碼中傳進去的參數temp是str,所以當我們執行上面一段代碼時一定會報錯
現在讓我們假裝不知道問題出在哪,使用pdb來調試這段代碼。
使用pdb
由于pdb是python標準庫因此我們可以直接import 使用
import pdb
接著在我們需要調試的代碼段前設一個斷點
pdb.set_trace()
應用到我們的代碼:point_down:
可以看到運行代碼后,pdb的調試器控制臺將從放置set_trace()的位置開始等待我們的命令,并且箭頭標記指向pdb接下來要運行的行。那么接下來介紹一些pdb中常用命令
使用n來執行下一行
可以看到此時調試器指向
print('start')
在彈出的文本框中輸入n即可執行該行,并且箭頭將指向下一行即將執行的代碼
使用ENTER重復上一個命令
現在還沒有到報錯的位置,我們使用n或者直接回車重復執行上一個命令
使用p打印變量值
在Pdb中我們可以使用p + 變量名來查看變量值,比如我們查看變量temp的值
使用l查看上下行代碼
在Pdb中我們可以使用l查看當前行上下幾行代碼
使用s進入子函數
現在,我們來到出錯的這一行,之所以報錯就是傳進去變量出了問題,因此我們可以在pdb交互行中使用s來進入子函數test()
使用r執行函數直到結束
在pdb中可以使用r來執行當前運行函數到結束
使用c停止調試并繼續運行
現在我們修改相關代碼完成調試,可以使用c命令繼續執行命令
當然也可以輸入q直接退出調試界面
看完上述內容,是不是對Python如何使用pdb調試代碼有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。