• 【Python】Python调试器pdb


    Python调试器pdb使用

    PDB调用启动方法

    pdb有2种用法:

    • 非侵入式(不用额外修改源代码,在命令行下直接运行就能调试)
    python3 -m pdb filename.py
    
    • 1
    • 侵入式(需要在被调试的代码中添加一行代码然后再正常运行代码)
    import pdb;pdb.set_trace()
    
    • 1

    当你在命令行看到下面这个提示符时,说明已经正确打开了pdb

    (Pdb) 
    
    • 1

    PDB常用命令

    命令说明
    1.查看源代码
    l查看当前位置前后11行源代码(多次会翻页)当前位置在代码中会用–>这个符号标出来
    ll查看当前函数或框架的所有源代码
    2.添加断点 b1.不带参数表示查看断点设置 2.带参则在指定位置设置一个断点
    b linenolineno断点添加到哪一行
    b filename:linenofilename文件名,断点添加到哪个文件,如test.py
    b functionnamefunction:函数名,在该函数执行的第一行设置断点
    3.添加临时断点tbreak执行一次后时自动删除(这就是它被称为临时断点的原因)
    tbreak lineno
    tbreak filename:lineno
    tbreak functionname
    4、清除断点cl1.不带参数用于清除所有断点,会提示确认(包括临时断点)2.带参数则清除指定文件行或当前文件指定序号的断点
    cl filename:lineno
    cl bpnumber [bpnumber ...]bpnumber 断点序号(多个以空格分隔)
    5、打印变量值p
    p expressionexpression Python表达式
    6、逐行调试命令
    s执行下一行(能够进入函数体)
    n执行下一行(不会进入函数体)
    r执行下一行(在函数中时会直接执行到函数返回处)
    7、非逐行调试命令
    c持续执行下去,直到遇到一个断点
    unt lineno持续执行直到运行到指定行(或遇到断点)
    j lineno直接跳转到指定行(注意,被跳过的代码不执行)
    8、查看函数参数
    a在函数中时打印函数的参数和参数的值
    9、打印变量类型
    whatis expression打印表达式的类型,常用来打印变量值
    10、启动交互式解释器
    interact启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)
    11、打印堆栈信息
    w打印堆栈信息,最新的帧在最底部。箭头表示当前帧。
    12、退出pdb
    q
  • 相关阅读:
    2023年数维杯国际赛B题赛题解题思路+部分代码
    springboot实现同时批量新增和批量修改数据
    漏洞修复---SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
    如何用小程序端进行测试?
    mysql之SQL练习
    Pyspark机器学习:向量及其常用操作
    Linux网络管理
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    虚拟摄像头驱动程序彻底分析
    java数据类型与变量的安全性
  • 原文地址:https://blog.csdn.net/weixin_45983575/article/details/126249551