加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

Python 调试器 pdb

发布时间:2022-11-02 14:30:41 所属栏目:Asp教程 来源:互联网
导读: 如何调试 Python 程序?
使用 PyCharm 等 IDE ,我们可以使用它自带的调试工具,具体可以看《 新手入门:PyCharm 的使用 》的 5.4 节。
如果没有安装 IDE,或者不方便使用 IDE ,比如在服务

如何调试 Python 程序?

使用 PyCharm 等 IDE ,我们可以使用它自带的调试工具,具体可以看《 新手入门:PyCharm 的使用 》的 5.4 节。

如果没有安装 IDE,或者不方便使用 IDE ,比如在服务器上运行程序,我们可能会写 print 语句输出变量,但 Python 自带的 Debug 工具比 print 更方便,它就是 pdb。

首先附上官方文档 pdb,然后介绍几个常用方法。

1. 引用

作为脚本在命令行调试:

python3 -m pdb myscript.py

作为模块在 Python 文件引用

import pdb
pdb.set_trace() # 写在需要打断点的地方
?
# 或者
?
from pdb import set_trace as pause
pause() # 写在需要打断点的地方

如下图所示,当命令行出现 (pdb)asp调试器,说明已经正确打开了 pdb,接下来可以利用 pdb 进行调试了。

不过上面两种方法的区别是:

输入 h,可以查看相关命令,接下来介绍几个最常用的命令。

asp调试器_asp.net mvc 断点调试_vs2008调试asp

2. 变量函数

我们调试往往需要查看变量和函数值:

p expression # 输出 expression 的值,print 的格式
pp expression # 输出 expression 的值,pprint 的格式
whatis expression # 输出 expression 的变量类型
?
a  args # 输出当前函数的参数列表

3. 断点设置

除了在 python 文件中写断点语句,我们还可以设置断点和临时断点,临时断点执行一次后时自动删除

# 添加断点
b
b lineno # lineno 行号
b filename:lineno # filename 文件名 xx.py
b functionname # functionname 函数名
?
# 添加临时断点
tbreak
tbreak lineno
tbreak filename:lineno
tbreak functionname
?
# 删除断点
# 不带参数清除所有断点,会提示确认(包括临时断点)
cl 
# 不带参数清除所有断点,会提示确认(包括临时断点)
cl filename:lineno 
cl bpnumber [bpnumber ...] # bpnumber 是断点序号,多个以空格分开

4. 调试

调试功能 PyCharm 也有,但要区分几个命令的区别:

s  step # 执行下一行,进入函数体
n  next # 执行下一行,不进入函数体
?
r  return # 执行代码直到从当前函数返回
c  cont  continue # 执行代码直到下一断点
?
unt(il) lineno # 一直执行到指定行号 lineno 的位置,或遇到断点
j(ump) lineno # 直接执行指定行号 lineno 的语句,会跳过中间的语句

我常用的是 n 和 c

5. 源代码

查看当前代码:

l  list # 查看当前行前后 11 行的源代码,当前行用箭头->指明
ll # 查看整个源代码

6. 退出调试

q  exit

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!