色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python使用pdb調試代碼的技巧

瀏覽:4日期:2022-07-26 16:00:58

Python使用pdb調試代碼的技巧

什么是pdb

不知道大家在用Python寫代碼出現報錯時是怎樣調試的,從報錯提示定位回去一步一步check每一行?如果沒有IDE或者命令行寫代碼時又該怎樣快速調試?這時如果使用pdb進行調試將會異常方便。

Pdb就是Python debugger,是python自帶的調試器。通過 pdb 我們可以交互式的查看運行過程中變量的值、設置斷點、逐行執行代碼、查看代碼的調用棧等等。并且如果環境沒有 GUI 的話,那么 pdb 能夠助你更快速的調試代碼。

首先我們準備一段有問題的代碼用于示例

def test(p): p = p + 1 return pdef fastdebug(): print(’start’) temp = ’ready’ print(’ok’) res = test(temp) print(’end’) fastdebug()

這段代碼很簡單,當我們執行fastdebug()時,會執行fastdebug函數并在該函數中調用另一個函數test(),test函數接收一個參數p并計算p+1的值傳出。很明顯,在高亮的一句代碼中傳進去的參數temp是str,所以當我們執行上面一段代碼時一定會報錯

Python使用pdb調試代碼的技巧

現在讓我們假裝不知道問題出在哪,使用pdb來調試這段代碼。

使用pdb

由于pdb是python標準庫因此我們可以直接import 使用

import pdb

接著在我們需要調試的代碼段前設一個斷點

pdb.set_trace()

應用到我們的代碼:point_down:

Python使用pdb調試代碼的技巧

可以看到運行代碼后,pdb的調試器控制臺將從放置set_trace()的位置開始等待我們的命令,并且箭頭標記指向pdb接下來要運行的行。那么接下來介紹一些pdb中常用命令

使用n來執行下一行

可以看到此時調試器指向

print(’start’)

在彈出的文本框中輸入n即可執行該行,并且箭頭將指向下一行即將執行的代碼

Python使用pdb調試代碼的技巧

使用ENTER重復上一個命令

現在還沒有到報錯的位置,我們使用n或者直接回車重復執行上一個命令

Python使用pdb調試代碼的技巧

使用p打印變量值

在Pdb中我們可以使用p + 變量名來查看變量值,比如我們查看變量temp的值

Python使用pdb調試代碼的技巧

使用l查看上下行代碼

在Pdb中我們可以使用l查看當前行上下幾行代碼

Python使用pdb調試代碼的技巧

使用s進入子函數

現在,我們來到出錯的這一行,之所以報錯就是傳進去變量出了問題,因此我們可以在pdb交互行中使用s來進入子函數test()

Python使用pdb調試代碼的技巧

使用r執行函數直到結束

在pdb中可以使用r來執行當前運行函數到結束

Python使用pdb調試代碼的技巧

使用c停止調試并繼續運行

現在我們修改相關代碼完成調試,可以使用c命令繼續執行命令

Python使用pdb調試代碼的技巧

當然也可以輸入q直接退出調試界面

以上就是使用Python標準庫執行一次debug過程,可以看到pdb在命令行下調試代碼是非常出色的,當然在某些情況下pdb將不是最好的選擇比如涉及到多線程相關,而在比較大型的項目使用pdb也顯得力不從心,因此我們需要靈活選擇調試方案,不過至少我們又掌握了一種代碼調試工具,不是嗎?

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品18久久久久网站 | 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 欧美一级在线观看 | 婷婷亚洲久悠悠色在线播放 | 国产精品免费观看视频播放 | 日韩中文字幕免费在线观看 | 毛片网站视频 | 免费va国产高清不卡大片 | 朝鲜一级毛片 | 久久久久久国产视频 | 国产精品人成人免费国产 | 久艹视频在线 | 美女张开腿让男人桶爽动漫视频 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 国产精品96久久久久久久 | 毛片久久久 | 亚洲日韩中文字幕天堂不卡 | 99精品视频在线视频免费观看 | 日韩国产欧美在线观看一区二区 | 国产第三区 | 一级片久久 | 日韩精品一区二区三区视频 | 俄罗斯美女毛片 | 国产三级国产精品国产普男人 | 国产精品自在自线 | 狠狠综合久久久久综合小说网 | 成年人在线观看网站 | 久久草在线精品 | 在线综合视频 | 日本理论片午夜论片 | 4438全国最大成人网视频 | 国产精品美乳免费看 | 国产欧美在线一区二区三区 | 国产精品极品美女自在线看免费一区二区 | 中国国语毛片免费观看视频 | 性感美女一级片 | 精品国产三级a | 亚洲综合久久久久久中文字幕 | 飘花国产午夜精品不卡 | 亚洲最大的视频网站 | 国产成人亚洲综合欧美一部 |