Pdb Python的偵錯程式

2021-10-09 02:59:10 字數 1474 閱讀 1736

參考:pdb— python的偵錯程式

pdb模組定義了乙個互動式源**偵錯程式,用於 python 程式。它支援在原始碼行間設定(有條件的)斷點和單步執行,檢視堆疊幀,列出原始碼列表,以及在任何堆疊幀的上下文中執行任意 python **。它還支援事後除錯,可以在程式控制下呼叫。

用pdb除錯有多種方式可選:

命令列

python3 -m pdb myscript.py

python互動環境

>>

>

import pdb

>>

>

import mymodule

>>

> pdb.run(

'mymodule.test()'

)

程式呼叫

一般是在程式中可能出現問題的地方,插入pdb.set_trace(),程式執行到了pdb.set_trace()處就會停止,然後輸入除錯命令,即可進行除錯。

example:

if __name__ ==

"__main__"

: a =

1import pdb

pdb.set_trace(

) b =

2 c = a + b

print

(c)

命令

作用h(elp) [command]

不帶引數時,顯示可用的命令列表。

引數為 command 時,列印有關該命令的幫助。

b(reak)

設定斷點。

如果帶有 lineno 引數,則在當前檔案相應行處設定乙個斷點。

如果帶有 function 引數,則在該函式的第一條可執行語句處設定乙個斷點。

cl(ear)

清除斷點

如果引數是 filename:lineno,則清除此行上的所有斷點。

如果引數是空格分隔的斷點編號列表,則清除這些斷點。

如果不帶引數,則清除所有斷點。

s(tep)

執行當前行,在第乙個可以停止的位置(在呼叫的函式中或在當前函式的下一行)停下。

n(ext)

繼續執行,直到執行到當前函式的下一行,或當前函式返回為止。

r(eturn)

繼續執行,直到當前函式返回。

l(ist) [first[, last]]

列出當前檔案的源**。

a(rgs)

列印當前函式的引數列表。列印當前函式的引數列表。

p expression

在當前上下文中執行表示式 expression 並列印它的值。

whatis expression

列印 expression 的型別。

q(uit)

退出偵錯程式。 被執行的程式將被中止。

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

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

常見偵錯程式

工欲善其事,必先利其器 在進行軟體除錯或者逆向工程時,我們需要很多輔助工具,其中偵錯程式是最重要的工具之一。根據除錯物件偵錯程式分類為使用者態和核心態。使用者態偵錯程式只能除錯環3 ring3 許可權的應用程式,大多數應用程式均屬於此類程式。核心態偵錯程式能除錯環0 ring0 許可權的應用程式,驅...

GDB偵錯程式

偵錯程式gdb 一 啟動和退出gdb gdb除錯的物件是可執行檔案,而不是程式的源 如果要使乙個可執行檔案可以被gdb除錯,那麼在使用編譯器gcc編譯程式時需要加入 g選項。gdb除錯乙個程式的命令格式是 gdb 程式檔名 也可以在linux提示符下,直接輸入gdb,然後使用file命令裝入要除錯的...