[python 您所在的位置:网站首页 python源码阅读工具 [python

[python

2023-03-29 18:10| 来源: 网络整理| 查看: 265

pdb模块定义了一个交互式源代码调试器,用于 Python 程序。它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上下文中运行任意 Python 代码。它还支持事后调试,可以在程序控制下调用。

pdb两种用法

侵入式:在源码文件中加入代码。

import pdb;pdb.set_trace()

非侵入式:在命令行中直接使用pdb。

python3 -m pdb test.pypdb基本命令continue或 c继续执行程序(知道遇到下一个断点)list或 l查看当前代码行(查看当前位置前后11行源代码,当前位置在代码中会用-->这个符号标出来)step或 s执行下一行代码(可以进入函数体)return 或 r执行下一行代码(若在函数体中会直接执行到函数返回处)next 或 n执行下一行代码(不会进入函数体)up 或 u返回到上个调用点(不是上一行)unt line_num运行到指定行p 变量名字打印变量的值exit 或 q中止调试,退出程序break line_num 或b line_num设置断点j line_num直接跳转到指定行(被跳过的代码不执行)a在函数中时打印函数的参数和参数的值whatis expression打印表达式的类型,常用来打印变量值interact启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)

s-in(s)ide,n-(n)ext,r-(r)eturn

上面的命令都很简单,实践一下就可以,这里说一下break设置断点的命令:

b line_num # 断点添加到哪一行 b filename:line_num # 断点添加到哪个文件的哪一行 b functionname #在函数执行的第一行设置断点

使用break 21 可以在当前py文件中第21行设置断点,之后可以去打印变量等操作;

程序崩溃后调试python -i mytest.py # 打开交互式shell import pdb;pdb.pm() # 可以看到崩溃后的语句,之后可以使用上面的命令打印变量信息进行分析总结

非常好用。

参考

网上资料整理。

官方文档:https://docs.python.org/zh-cn/3/library/pdb.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有