发布时间:2025-12-09 12:02:48 浏览次数:1
python3 -m pdb filename.py
import pdb;pdb.set_trace()
当你在命令行看到下面这个提示符时,说明已经正确打开了pdb
(Pdb)
然后就可以开始输入pdb命令了,下面是pdb的常用命令
命令:
英文字母:l说明:
查看当前位置前后11行源代码(多次会翻页)
当前位置在代码中会用-->这个符号标出来
命令:
英文字母:ll说明:
查看当前函数或框架的所有源代码
命令:
bb linenob filename:lineno b functionname参数:
filename文件名,断点添加到哪个文件,如test.py
lineno断点添加到哪一行
function:函数名,在该函数执行的第一行设置断点
说明:
1.不带参数表示查看断点设置
2.带参则在指定位置设置一个断点
命令:
tbreaktbreak linenotbreak filename:linenotbreak functionname参数:
同b
说明:
执行一次后时自动删除(这就是它被称为临时断点的原因)
命令:
clcl filename:linenocl bpnumber [bpnumber ...]参数:
bpnumber 断点序号(多个以空格分隔)
说明:
1.不带参数用于清除所有断点,会提示确认(包括临时断点)
2.带参数则清除指定文件行或当前文件指定序号的断点
命令:
p expression参数:
expression Python表达式
包括 s ,n , r 这3个相似的命令,区别在如何对待函数上
命令1:
s说明:
执行下一行(能够进入函数体)
命令2:
n 说明:
执行下一行(不会进入函数体)
命令3:
r 说明:
执行下一行(在函数中时会直接执行到函数返回处)
命令1:
c 说明:
持续执行下去,直到遇到一个断点
命令2
unt lineno说明:
持续执行直到运行到指定行(或遇到断点)
命令3
j lineno说明:
直接跳转到指定行(注意,被跳过的代码不执行)
命令:
a说明:
在函数中时打印函数的参数和参数的值
命令:
whatis expression说明:
打印表达式的类型,常用来打印变量值
interact说明:
启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)
w说明:
打印堆栈信息,最新的帧在最底部。箭头表示当前帧。
q完成了。
命令:
bb linenob filename:lineno b functionname参数:
filename文件名,断点添加到哪个文件,如test.py
lineno断点添加到哪一行
function:函数名,在该函数执行的第一行设置断点
说明:
1.不带参数表示查看断点设置
2.带参则在指定位置设置一个断点
命令:
tbreaktbreak linenotbreak filename:linenotbreak functionname参数:
同b
说明:
执行一次后时自动删除(这就是它被称为临时断点的原因)
命令:
clcl filename:linenocl bpnumber [bpnumber ...]参数:
bpnumber 断点序号(多个以空格分隔)
说明:
1.不带参数用于清除所有断点,会提示确认(包括临时断点)
2.带参数则清除指定文件行或当前文件指定序号的断点
命令:
p expression参数:
expression Python表达式
包括 s ,n , r 这3个相似的命令,区别在如何对待函数上
命令1:
s说明:
执行下一行(能够进入函数体)
命令2:
n 说明:
执行下一行(不会进入函数体)
命令3:
r 说明:
执行下一行(在函数中时会直接执行到函数返回处)
命令1:
c 说明:
持续执行下去,直到遇到一个断点
命令2
unt lineno说明:
持续执行直到运行到指定行(或遇到断点)
命令3
j lineno说明:
直接跳转到指定行(注意,被跳过的代码不执行)
命令:
a说明:
在函数中时打印函数的参数和参数的值
命令:
whatis expression说明:
打印表达式的类型,常用来打印变量值
interact说明:
启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)
w说明:
打印堆栈信息,最新的帧在最底部。箭头表示当前帧。
q完成了。好吧,可能超过了10分钟,我承认这是一个善意的谎言,不过至此你已经掌握了,击个掌吧。