[Python]利用PDB来进行Python调试

1、基本概念:

PDB:Python自带的Debug工具,全称:Python Debugger

2、基本用法:

PDB有两种用法,(非侵入式方法和侵入式方法)

非侵入式方法:不用额外修改代码,在命令行下直接运行就能调试;

侵入式方法:需要在被调试的代码中添加一行代码然后再正常运行代码;

非侵入式方法的使用:

python -m pdb {FileName}

侵入式方法的使用:

import pdb;

pdb.set_trace()

3、常用的PDB用法:

命令:

l(单个小写的L)

说明:

查看当前位置前后11行源代码,当前位置在代码中会用->这个符号表示出来;

命令:

ll(两个小写的L)

说明:

查看当前函数或框架的所有源代码;

添加断点:

命令:

b

b LineNumber

b FileName:LineNumber

b FunctionName

参数含义:
LineNumber:具体的行数;

FileName:文件名,断点添加到哪个文件;

FunctionName:函数名,在该函数执行的第一行设置断点;

说明:
不带参数表示查看断点的设置;

带参数在指定位置设置一个断点;

添加临时断点:

命令:

tbreak

tbreak LineNumber

tbreak FileName:LineNumber

tbreak FunctionName

参数:

同b

说明:

执行一次之后,自动删除(这也就是为什么被称为临时断点)

清除断点:

cl

cl FileName:LineNumber

cl bpnumber

参数:

bpnumber 断点序号(多个以空格分隔)

说明:

不带参数用于清除所有的断点,会提示确认(包含临时断点)

带参数则清除指定文件行或者当前文件指定序号的断点;

参考链接:

10分钟教程掌握Python调试器pdb - 知乎 (zhihu.com)

原文地址:https://www.cnblogs.com/LeeCookies/p/15459239.html