本文**:
在python中使用pdb模組可以進行除錯
import pdb
pdb.set_trace()
也可以使用python -m pdb mysqcript.py這樣的方式
(pdb) 會自動停在第一行,等待除錯,這時你可以看看 幫助
(pdb) h
說明下這幾個關鍵 命令
>斷點設定
(pdb)b 10 #斷點設定在本py的第10行
或(pdb)b ots.py:20 #斷點設定到 ots.py第20行
刪除斷點(pdb)b #檢視斷點編號
(pdb)cl 2 #刪除第2個斷點
>執行
(pdb)n #單步執行
(pdb)s #細點執行 也就是會下到,方法
(pdb)c #跳到下個斷點
>檢視
(pdb)p param #檢視當前 變數值
(pdb)l #檢視執行到某處**
(pdb)a #檢視全部棧內變數
(pdb)w 列出目前call stack 中的所在層。
(pdb)d 在call stack中往下移一層
(pdb)u 在call stack中往上移一層。如果在上移一層之後按下 n ,則會在上移之後的一層執行下乙個敘述,之前的 function call 就自動返回。
(pdb)cl 清除指定的斷點。如果沒有帶引數,則清除所有斷點。
(pdb)disable 取消所有斷點的功能,但仍然保留這些斷點。
(pdb)enable 恢復斷點的功能。
(pdb)ignore 設定斷點的忽略次數。如果沒指定 count,其初始 為 0。當 count 為 0 時,斷點會正常動作。若有指定 count,則每次執行到該中斷, count 就少 1,直到 count 數為 0。
(pdb)condition bpnumber [condition]
(pdb)j(ump) lineno. 跳到某行執行。只有在 call stack 的最底部才能作用。
(pdb)l 列出目前所在檔案中的位置。連續地 l 命令會一直列到檔案結尾,可以使用指定行數或範圍來列印。
(pdb)pp 和 p 命令類似,但是使用 pprint module(沒用過 pprint,詳情請參考 python library reference)。
(pdb)alias 以乙個"別名"代替"一群除錯命令",有點類似 c/c++ 的 macro(詳情請參考 python library reference)。
(pdb)unalias 取消某個 alias。
(pdb)[!]statement 在目前的環境(context)中執行敘述。
python的單步除錯工具pdb
方法一 執行 python m pdb pythonname.py pdb 會自動停在第一行,等待除錯,這時你可以看看 幫助 pdb h 說明下這幾個關鍵 命令 斷點設定 pdb b 10 斷點設定在本py的第10行 或 pdb b ots.py 20 斷點設定到 ots.py第20行 刪除斷點 p...
除錯工具 之Python除錯工具pycharm
1 pycharm的安裝 pycharm是一款非常好用的python ide,提供專業版和社群版,就像eclipse和myeclipse一樣,專業版是收費的,而社群版是免費的但功能就沒有專業版的功能強大。1.2 安裝 這裡就不必細說,直接next就ok ps 安裝完成後一定要執行 1.3 破解 採用...
pdb除錯python指令碼
使用pdb模組的run函式來除錯語句塊,其引數原型 run statement globals locals 其中 statement 要除錯的語句塊,以字串的形式 globals 可選引數,設定statement執行的全域性環境變數 import pdb pdb.run for i in rang...