使用PDB模式調(diào)試Python程序介紹
以前在windows下一直用的idel帶的功能調(diào)試python程序,在linux下沒(méi)調(diào)試過(guò)。(很多時(shí)候只是print)就從網(wǎng)上查找一下~
方法:
python -m pdb a.py
a.py是python文件。
(Pdb)模式下的常用命令:
q
退出debug
h 即help,打印所有可以命令
h w
打印命令 w 的含意
n
執(zhí)行當(dāng)前行直到到達(dá)下一行或直到它返回
s
執(zhí)行當(dāng)前行,一有可能就停止(比如當(dāng)前行有一個(gè)函數(shù)調(diào)用)。它和n(next)的區(qū)別是當(dāng)前行中有函數(shù)調(diào)用時(shí)s(step)會(huì)停止當(dāng)前行的執(zhí)行而去調(diào)用那個(gè)函數(shù),而n不會(huì)停止,直到計(jì)算完成這一行(到達(dá)下一行)。
b(reak) [[filename:]lineno | function[, condition]]
設(shè)置斷點(diǎn),可以是行號(hào)或函數(shù)。如 b 10, b foo, b foo,n == 5,最后在函數(shù)foo()入口處設(shè)置一個(gè)斷點(diǎn),但僅當(dāng)n的值是5時(shí)才有效。當(dāng)b命令無(wú)參數(shù)時(shí),打印所有斷點(diǎn)。
tb(reak) [[filename:]lineno | function[, condition]]
臨時(shí)斷點(diǎn),只hit一次。
disable [bpnumber [bpnumber ...]]
使指點(diǎn)行的斷點(diǎn)(們)失效
enable [bpnumber [bpnumber ...]]
使指定行上的斷點(diǎn)(們)有效
c
繼續(xù)執(zhí)行程序,直到遇到下一個(gè)斷點(diǎn)
w
即where,打印當(dāng)前執(zhí)行點(diǎn)的位置
l [first, [,last]]
輸出當(dāng)前行附近的源碼
p expression
執(zhí)行一個(gè)表達(dá)式當(dāng)打印其值。
a(rgs)
打印當(dāng)前函數(shù)的參數(shù)及其值
<直接回車(chē)>
重復(fù)執(zhí)行上次的命令
并遇到pdb不認(rèn)識(shí)的命令時(shí),會(huì)將它當(dāng)成python表達(dá)式執(zhí)行。如果你想執(zhí)行的表達(dá)時(shí),最前面加上 ! 字符,比如 !n == 5
多個(gè)debug命令可以寫(xiě)在一行上,中間用兩個(gè)分號(hào)分隔,如 s;;s。
相關(guān)文章
python實(shí)現(xiàn)圖像識(shí)別功能
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖像識(shí)別功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Python實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題的方法
這篇文章主要介紹了Python實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題的方法,詳細(xì)分析了約瑟夫環(huán)問(wèn)題的描述、原理與解決方法,需要的朋友可以參考下2016-05-05Numpy 多維數(shù)據(jù)數(shù)組的實(shí)現(xiàn)
這篇文章主要介紹了Numpy 多維數(shù)據(jù)數(shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06如何用Python進(jìn)行回歸分析與相關(guān)分析
這篇文章主要介紹了如何用Python進(jìn)行回歸分析與相關(guān)分析,這兩部分內(nèi)容會(huì)放在一起講解,文中提供了解決思路以及部分實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-03-03利用Python編寫(xiě)簡(jiǎn)易的錄制屏幕小工具
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)易的錄制屏幕小工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下2022-08-08Python使用eval函數(shù)執(zhí)行動(dòng)態(tài)標(biāo)表達(dá)式過(guò)程詳解
這篇文章主要介紹了Python使用eval函數(shù)執(zhí)行動(dòng)態(tài)標(biāo)表達(dá)式過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10