在Linux 下如何調(diào)試 Python,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比澠池網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式澠池網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋澠池地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。一般開發(fā)者都是在 IDE 中進(jìn)行程序的調(diào)試,當(dāng)然,有 IDE 的話,當(dāng)然選 IDE 進(jìn)行調(diào)試。
但是,有時(shí)我們的業(yè)務(wù)場(chǎng)景,限制只能在 Linux 命令行模式進(jìn)行調(diào)試。
這時(shí)該怎么辦呢?
大家介紹一個(gè) Linux 下調(diào)試 Python 程序的工具。
pdb 調(diào)試器是 Python 標(biāo)準(zhǔn)庫(kù)提供的,因此最為方便,不需要安裝其他組件,直接 import 后就能使用。
pdb 調(diào)試器提供了調(diào)試所需的大多數(shù)功能,如斷點(diǎn)、單行步進(jìn)、堆棧幀的檢查等等。
l # 查看運(yùn)行到哪行代碼
n # 單步運(yùn)行,跳過函數(shù)
s # 單步運(yùn)行,可進(jìn)入函數(shù)
p 變量 # 查看變量值
b 行號(hào) # 斷點(diǎn)設(shè)置到第幾行
b # 顯示所有斷點(diǎn)列表
cl 斷點(diǎn)號(hào) # 刪除某個(gè)斷點(diǎn)
cl # 刪除所有斷點(diǎn)
c # 跳到下一個(gè)斷點(diǎn)
r # return 當(dāng)前函數(shù)
exit # 退出
復(fù)制代碼
本文 Python 環(huán)境:Python 3.5.2
我們先準(zhǔn)備一小段演示程序:
# -*- coding: utf-8 -*-
def add(a, b):
return a + b
if __name__ == '__main__':
print("===start===")
c = add(1, 3)
print("===end===")
復(fù)制代碼
使用方法 1:
運(yùn)行 pdb 的最簡(jiǎn)單方法是從命令行,將程序作為參數(shù)傳遞來調(diào)試。
$ python -m pdb test_pdb.py
復(fù)制代碼
這時(shí),就開始單步執(zhí)行了。
這種方法對(duì)代碼沒有侵入性,但是每次都需要設(shè)置斷點(diǎn)。
使用方法 2:
在代碼頭部引入 pdb,然后可以在代碼里,通過 pdb.set_trace() 來設(shè)置斷點(diǎn):
# -*- coding: utf-8 -*-
import pdb
def add(a, b):
pdb.set_trace()
return a + b
if __name__ == '__main__':
print("===start===")
pdb.set_trace()
c = add(1, 3)
print("===end===")
復(fù)制代碼
此時(shí),運(yùn)行程序,就會(huì)自動(dòng)跳轉(zhuǎn)到設(shè)置的斷點(diǎn)處:
沒了圖形化頁(yè)面,調(diào)試只能這么來了,不過還好,pdb 使用看著不難吧。
其實(shí)還有一些增強(qiáng)的調(diào)試器,比如 IPython 的 ipdb 和 pdb++,它們一般都提供了更好的用戶體驗(yàn),添加了有用的額外功能,例如語(yǔ)法突出高亮、更好的回溯和自省。
看完上述內(nèi)容,你們掌握在Linux 下如何調(diào)試 Python的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
本文名稱:在Linux下如何調(diào)試Python-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article4/cosiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站排名、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(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)
猜你還喜歡下面的內(nèi)容