The python debugger(PDB)的简介
轉(zhuǎn)自:http://www.cnblogs.com/wei-li/archive/2012/05/02/2479082.html
學(xué)習(xí)Python調(diào)試,最好的資料當(dāng)然是官方文檔和(pdb)help了,這里有篇博文,還有下面的?PDB cheat-sheet
?
1 在python中使用pdb模塊可以進(jìn)行調(diào)試
import pdb
pdb.set_trace()
2 也可以使用python -m pdb mysqcript.py這樣的方式;(Pdb) 會自動停在第一行,等待調(diào)試;這時你可以看看幫助 (Pdb) h(elp)
說明下這幾個關(guān)鍵 命令
>斷點設(shè)置
?? (Pdb)b? 10 #斷點設(shè)置在本py的第10行
?? 或(Pdb)b? ots.py:20 #斷點設(shè)置到 ots.py第20行
?? 刪除斷點(Pdb)b #查看斷點編號
??????????? (Pdb)cl 2 #刪除第2個斷點
>運行
??? (Pdb)n #單步運行
??? (Pdb)s #細(xì)點運行 也就是會下到,方法
??? (Pdb)c #跳到下個斷點
>查看
??? (Pdb)p param #查看當(dāng)前 變量值
??? (Pdb)l #查看運行到某處代碼
??? (Pdb)a #查看全部棧內(nèi)變量
??? (Pdb)w 列出目前call stack 中的所在層。
??? (Pdb)d 在call stack中往下移一層
??? (Pdb)u 在call stack中往上移一層。如果在上移一層之后按下 n ,則會在上移之后的一層執(zhí)行下一個敘述,之前的 function call 就自動返回。
??? (Pdb)cl 清除指定的斷點。如果沒有帶參數(shù),則清除所有斷點。
??? (Pdb)disable 取消所有斷點的功能,但仍然保留這些斷點。
??? (Pdb)enable 恢復(fù)斷點的功能。
??? (Pdb)ignore 設(shè)定斷點的忽略次數(shù)。如果沒指定 count,其初始 為 0。當(dāng) count 為 0 時,斷點會正常動作。若有指定 count,則每次執(zhí)行到該中斷, count 就少 1,直到 count 數(shù)為 0。
??? (Pdb)condition bpnumber [condition]
??? (Pdb)j(ump) lineNo. 跳到某行執(zhí)行。只有在 call stack 的最底部才能作用。
??? (Pdb)l? 列出目前所在檔案中的位置。連續(xù)地 l 命令會一直列到檔案結(jié)尾,可以使用指定行數(shù)或范圍來打印。
??? (Pdb)pp 和 p 命令類似,但是使用 pprint module(沒用過 pprint,詳情請參考?Python?Library Reference)。
??? (Pdb)alias 以一個"別名"代替"一群除錯命令",有點類似 c/c 的 macro(詳情請參考 Python Library Reference)。
??? (Pdb)unalias 取消某個 alias。
??? (Pdb)[!]statement 在目前的環(huán)境(context)中執(zhí)行敘述。
轉(zhuǎn)載于:https://www.cnblogs.com/wuyongqiang/p/8046359.html
總結(jié)
以上是生活随笔為你收集整理的The python debugger(PDB)的简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: token 案例,只是测试,功能并不完善
- 下一篇: BZOJ1146 [CTSC2008]网