• pudb: python的调试工具


    1. 快捷键

    cnblog: Python的调试器pudb简易教程

    界面下按?就能出来快捷键列表。

    最常用的快捷键,应该是如下几个:

    • 移动光标
      • H - move to current line # 移动到当前行(栈底)
      • u - move up one stack frame # 移动到栈的上一行
      • d - move down one stack frame # 移动到栈的下一行
      • j/k - up/down
      • Ctrl-u/d - page up/down
      • h/l - scroll left/right
      • g/G - start/end
      • L - go to line # 跳到指定行
    • 运行
      • n - step over ("next") # 运行到下一行
      • s - step into # 运行进函数
      • c - continue # 继续运行
      • t - run to cursor # 运行到光标处
      • r/f - finish current function # 结束当前函数
    • 界面切换
      • C - focus code # 聚焦在代码窗口
      • o - show console/output screen # 显示命令行屏幕(回车返回pudb)
      • V - focus variables # 聚焦在变量窗口
      • S - focus stack # 聚焦在栈窗口
      • B - focus breakpoint list # 聚焦在断点列表窗口
      • t/r/s/c - show type/repr/str/custom for this variable # 切换type/repr/str/custom
      • / - search
      • ,/. - search next/previous # 查找下一个/上一个
      • ?/H - show this help screen # 显示帮助窗口
      • Ctrl+n/p - browse command line history # 浏览命令行历史
    • b - toggle breakpoint # 打断点/取消断点
    • m - open module # 打开python模块

    2. 启动方式

    pdb有2种用法:

    1. 非侵入式方法(不用额外修改源代码,在命令行下直接运行就能调试)

      python3 -m pdb filename.py
      
    2. 侵入式方法(需要在被调试的代码中添加一行代码然后再正常运行代码)

      import pdb; pdb.set_trace()
      

    3. 具体功能介绍哦

    简书: 10分钟教程掌握Python调试器pdb

    3.1. 查看源代码

    l
    

    查看当前位置前后11行源代码(多次会翻页)

    ll
    

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

    3.2. 添加断点

    b
    b lineno
    b filename:lineno
    b functionname
    
    1. 不带参数表示查看断点设置
    2. 带参则在指定位置设置一个断点

    3.3. 添加临时断点

    tbreak
    tbreak lineno
    tbreak filename:lineno
    tbreak functionname
    

    执行一次后时自动删除(这就是它被称为临时断点的原因)

    3.4. 清除断点

    cl
    cl filename:lineno
    cl bpnumber [bpnumber ...]
    
    1. 不带参数用于清除所有断点,会提示确认(包括临时断点)
    2. 带参数则清除指定文件行或当前文件指定序号的断点

    3.5. 打印变量值

    p expression
    

    3.6. 非逐行调试命令

    unt lineno
    

    持续执行直到运行到指定行(或遇到断点)

    j lineno
    

    直接跳转到指定行(注意,被跳过的代码不执行)

    3.7. 查看函数参数

    a
    

    在函数中时打印函数的参数和参数的值

    3.8. 打印变量类型

    whatis expression
    

    打印表达式的类型,常用来打印变量值

    3.9. 启动交互式解释器

    interact
    

    启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)

    3.10. 打印堆栈信息

    w
    

    打印堆栈信息,最新的帧在最底部。箭头表示当前帧。

  • 相关阅读:
    init进程解析rc文件的相关函数分析
    Ubuntu 安装Android Studio与使用手册
    Vim的撤销与重做
    Vim 配色设置与配色脚本语法
    js常用的语句
    xshell常用的命令
    java常用的语句
    maven工程配置日志
    根据一个oss的pdf文件的 地址转换成一个File文件
    根据一个oss的地址把图片转换成一个文件
  • 原文地址:https://www.cnblogs.com/brt2/p/13756614.html
Copyright © 2020-2023  润新知