Python的偵錯程式pdb的使用實踐總結

2021-10-17 07:12:29 字數 1386 閱讀 9787

一、使用方式

1. 在**中需要除錯的地方,加上兩行**:

import pdb  # pdb是python自帶的包,所以直接匯入即可

pdb.set_trace()

2. 假設我在某測試用例方法中需要除錯,則**如下:

def test_financial_active_list_demand(api_name):

api_dsl = settings.lookup_depend(api_name)

requests = settings.resolve(api_name, api_dsl)

# 除錯

import pdb

pdb.set_trace()

for req in requests:

resp = api.call(req['url'], req['method'], req['params'], req['headers'])

result = resp.json()

assert resp.status_code == 2000

if result['success'] == false:

logging.debug(resp.text)

assert result['success']

二. 我常用的幾個命令(結合場景使用介紹):

1. 「檢視當前行的**段」命令:l

首次進入除錯模式後,用「l」可檢視當前行的**段,其中「->」就代表當前執行到的地方

2. 「列印變數的值」命令:已經執行過的變數名

圖中的「api_dsl」是已經執行過的變數,所以直接輸入變數名就可列印出對應的值;

如果輸入變數名並回車後,未輸出任何東西,則說明變數的值為」none「,可以用」print(變數名)「列印出來看看

3. 「列印變數的值」命令:未執行到的變數名

圖中的「req」是未執行到的變數名,所以輸入變數名後,報錯「*** nameerror: name 'req' is not defined」

若想繼續執行下一行,就使用「n」命令

5. 「檢視當前行的**段」命令:l

執行完下一行後,使用「l」檢視當前執行到的地方,可看到「->」下移了一行

6. 「列印變數的值」命令:已經執行過的變數名

此時再列印「req」,就可以成功了,因為「req」所在的那行已經執行過了

7. 「中止並退出」命令:q

不想繼續除錯了,就直接退出即可。但是這個退出是直接退出,不會繼續執行完程式的哦

8. 若想繼續執行完程式,則使用命令「c」即可

Python偵錯程式pdb

python3 m pdb filename.py import pdb pdb.set trace 當你在命令列看到下面這個提示符時,說明已經正確開啟了pdb pdb 然後就可以開始輸入pdb命令了,下面是pdb的常用命令 命令 英文本母 l 說明 檢視當前位置前後11行源 多次會翻頁 當前位置在...

python的偵錯程式 Python 偵錯程式入門

python 生態系統包含豐富的工具和庫,可以讓開發人員更加舒適。例如,我們之前已經介紹了如何使用互動式 shell 增強 python。本文重點介紹另一種可以節省時間並提高 python 技能的工具 python 偵錯程式。python 偵錯程式 python 標準庫提供了乙個名為 pdb 的偵錯...

python的偵錯程式 玩轉Python偵錯程式

如果你還只會使用print來定位python程式問題,那這篇文章就是為你寫的,這篇文章將帶你入門python偵錯程式。python標準庫提供了乙個叫pdb的偵錯程式,它提供了除錯所需的絕大多數常用功能,比如斷點 單行步進 堆疊幀資料的檢查等。了解一些python pdb的基本用法和知識,將極大的提高...