The python debugger(PDB)的簡介


學習Python調試,最好的資料當然是官方文檔和(pdb)help了,這里有篇博文,還有下面的 PDB cheat-sheet

pdb-cheatsheet

 

1 在python中使用pdb模塊可以進行調試
import pdb
pdb.set_trace()


2 也可以使用python -m pdb mysqcript.py這樣的方式;(Pdb) 會自動停在第一行,等待調試;這時你可以看看幫助 (Pdb) h(elp)
說明下這幾個關鍵 命令
>斷點設置
   (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)中執行敘述。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM