你必须拥有的Python调试神器

简介: 你必须拥有的Python调试神器

今天推荐一个Python调试工具可以让你的调试更快更方便,叫ipdb

推荐ipdb主要原因:语法高亮和自动补全,因为很多长变量每次打起来很费劲,这个可以大大提高你的效率,避免出错。

知道的朋友都知道我一般操作就是Pycharm + Vim的模式,原因我解释过了,既能使用Vim编辑器之神的配置,也能用到Pycharm这种IDE的方便。

操作如下:

安装使用一般就是

pip install ipdb,相信大家没啥问题,这里我们可以通过区分环境在本地或者测试环境加上ipdb这个包,其他地方不加,降低线上其他包的干扰。

其实简单调试我个人一般就是日志进行解决(关于日志之前文章提过,KIDS和ELK的形式,大家可以去看一下从Kids到ELK Stack集中式日志收集之路),复杂一点的我在调试的时候一般输入ipdb关键词,自动弹出import ipdb;ipdb.set_trace(),Pycharm配置如下。

image.png


当然还有更简单的方式直接在Pycharm打断点执行什么的,由于我日常工作要切换到服务器上面使用Vim进行编辑操作的,这个是没法直接断点,索性就直接上这种方式。

常用的命令

关于ipdb 常用的操作有如下几个。

p 打印

n 下一步

c 继续

s 进入子函数程序

l 查看当前执行

b 中断指定到某一行

h 帮助(新手可以看看)

由于ipdb和pdb一致性,为了方便大家更好理解学习,我通过dash截图了一张pdb的cheatsheet出来。

image.png


今天的分享就到这儿,最后如果看到身边同学还在使用pdb这种方式,赶紧推荐他使用ipdb吧,大家喜欢的话点赞分享就是对我的支持。

相关文章
|
4月前
|
安全 程序员 Python
Python中的异常处理与错误调试
【4月更文挑战第8天】本文探讨Python中的异常处理和错误调试,将其比喻为驾驶过程中的意外情况。异常是程序执行时的非正常事件,如文件缺失或网络故障,而错误是代码本身的逻辑或语法问题。Python通过try-except语句处理异常,确保程序在遇到问题时不会立即崩溃。错误调试则需定位问题根源,利用pdb等工具逐行检查代码。这两个技能对保持代码稳定性和可靠性至关重要,能增强程序应对意外的能力并帮助修复潜在问题。
26 1
|
4月前
|
开发框架 人工智能 Rust
Python 潮流周刊#12:Python 中如何调试死锁问题?
Python 潮流周刊#12:Python 中如何调试死锁问题?
35 0
|
30天前
|
JavaScript 前端开发 ice
简单实用,Python代码调试利器~
简单实用,Python代码调试利器~
36 4
简单实用,Python代码调试利器~
使用icecream优雅调试Python代码
在大型项目中,使用print()调试代码可能导致终端输出过多,难以分辨输出结果与代码的对应关系。为了更清晰地调试,可以采用Icecream库。通过使用Icecream,可以更有效地进行Python代码调试,同时保持代码的整洁性。
|
23天前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
22 2
|
29天前
|
机器人 API 开发工具
大恒相机 - Python SDK 调试记录
大恒相机 - Python SDK 调试记录
36 1
|
12天前
|
搜索推荐 JavaScript 前端开发
简单实用,Python代码调试利器/java代码的设计和解读
尽管有许多高级调试工具,但在多数情况下,`print()`仍是便捷之选。`icecream`库则将`print()`调试法发挥到极致,简化变量检查与信息输出,提升调试效率。无论是基本变量还是复杂数据结构,`icecream`都能轻松应对,并支持自定义输出格式,让你的调试工作更高效。下面,让我们一起探索`icecream`的更多实用功能吧!
14 0
|
14天前
|
搜索推荐 JavaScript 前端开发
简单实用,Python代码调试利器
简单实用,Python代码调试利器
|
16天前
|
监控 Java Serverless
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
|
2月前
|
Shell 程序员 开发工具
[oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档
调试程序_debug_next_下一步_list_pdb3 🥋
38 1