python中有個pdb模塊,使python代碼也可以像
gdb那樣進行調試,一般情況下pdb模塊可以在代碼內
直接使用,也可以通過命令行參數的形式添加該模塊進
行調試(python -m pdb file.py)。
在代碼中直接使用pdb模塊調試時,import pdb
模塊後,然後在需要調試的代碼出添加pdb.set_trace()
命令即可,運行程序後,在運行到次代碼處會自動停止,
進入調試模式。
常用的調試方法:
q 退出debug
h 打印可用的調試命令
b 設置斷點,b 5 在第五行設置斷點
h command 打印command的命令含義
disable codenum 使某一行斷點失效
enable codenum 使某一行的斷點有效
condition codenum xxx 針對斷點設置條件
c 繼續執行程序,直到下一個斷點
n 執行下一行代碼,如果當前語句有函數調用,則不會進入函數體中
s 執行下一行代碼,但是s會進入函數
w 打印當前執行點的位置
j codenum 讓程序跳轉到指定的行
l 列出附近的源碼
p 打印一個參數的值
a 打印當前函數及參數的值
回車 重複執行上一行
這裏主要介紹兩種調試方式
python -m pdb xx.py
1. n調試,單步調試,但是當前語句有函數調用不會進入函數體。
2. s調試,單步調試,進入函數體內