PUDB调试python程序

PUDB是一款全屏的Python调试器,提供语法高亮、键盘导航、断点管理等功能。通过`conda`安装可能会遇到网络问题,可以尝试其他安装方式。在代码中插入`pudb.set_trace()`启动调试,常用快捷键如`?`打开帮助,`n`执行一步,`s`步入函数,`c`继续执行,`b`设置断点等。调试界面包含源码、变量、命令行、断点和堆栈信息区域。
部署运行你感兴趣的模型镜像

PUDB是全屏的基于控制台的可视化调试器,主页为https://pypi.python.org/pypi/pudb

其特点主要有:
- 源码语法高亮,栈、断点、变量可见并且一直动态更新。变量展示还有很多可以定制化的功能
- 基于键盘,简单高效。支持光标键和Vi快捷键导航,还支持PDB的某些命令
- 支持搜索源代码,可以使用“m”来调用显示加载模块的模块浏览器
- 可以通过定位一行并点击“b”来设置断点,然后在断点窗口中可视地进行编辑。或者点击“t”来运行光标所在行
- 可以通过按下“!”来直接进入python环境
- PuDB很关注异常处理,post-mortem模式将会使得追踪程序崩溃的最后一步更简单
- 集成IPython
- 支持python2.6以及更高版本,包括python3

我使用的是Anaconda,但是通过conda安装pudb时总是出现网络问题,因此采用下面的形式:

sudo apt-get install python-pudb

或者

pip install pudb

首先给出示例代码:

import pudb; pu.db

def sum(n):
    result = 0
    for i in range(n):
        result = result + i
    return result

if __name__ == "__main__":
    y1 = sum(10)
    y2 = sum(100)
    y3 = sum(100)

PUDB的使用很简单,主要分两步:

  • 在代码中插入
import pudb; pu.db
  • 使用pudb命令启动python程序
# 为了演示,这里建立了一个数列求和的python程序:pudbSum.py
pudb pudbSum.py

得到的界面可能如下:

这里写图片描述

如果需要修改配色等属性,可以执行“Ctrl+P”调出设置界面。我的配色风格为“monokai”。

学习PUDB调试的整个过程中,最需要的快捷键就是“?”,用于调出帮助窗口,如下图所示:

这里写图片描述

常用的调试命令如下:

  • Ctrl+p: 打开属性设置
  • n: next,也就是执行一步
  • s: step into,进入函数内部
  • f: finsh current function,结束当前函数?
  • c: continue,继续执行
  • b: break point,在光标所在行添加或消除断点
  • t: to cursor,运行到光标位置
  • !: 打开python命令行
  • ?: 打开帮助窗口
  • o: output screen,打开输出窗口/控制台
  • m: module,打开模块
  • q: quit,退出PUDB
  • /: 搜索
  • ,/. 搜索下一个/上一个

PUDB的界面主要分为:左上角的源码,右上角的变量区,左下角的命令行区,右下角的断点区,以及右边中间的StacK区

下面是我添加了一个断点后,执行“c”命令后的结果。

这里写图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值