首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用了三年的 pdb,没想到还能这么调试

使用pdb进行无界面调试,介绍了两种 pdb 的调试入口,也是大部分所熟知的。

这里再带大家回顾一下

第一种:指定 来开启

第二种:使用 在代码中设置断点

但其实,pdb 还另外两种调试方法,第一种方法,可能有 99% 的开发者都没用过,甚至连见过都没有。

这两种方法,是配合 Python Console 的交互界面来实现的。

首先我准备好一个名为 的 Python文件,里面定义了一个 sum 的工具函数(仅作演示用)。

然后在终端敲入 Python 进入 Console 的模式,导入这个模块,并调用 sum 函数,在正常情况下,函数可以正常工作。

但如果你的参数类型传成了 str,函数就会报错啦~

由于这里的报错是我刻意触发的,从报错来看,是很容易定位的。

但是在实际应用中,难免会遇到一些无法从报错信息直接判断 bug 所在的情况。

这个时候,如果可以在报错后,切换到 pdb 的调试模式就好了~

事实上,pdb 是支持这种用法的。

只要你在当前的会话中,导入 pdb,再执行 ,就可以切换到熟悉的 pdb 调试界面,并在抛错的地方打上断点,然后你就可以任意的查看运行时的变量信息。

如果你不是想等报错了再调试,而是一开始就想进入调试模式,可以使用 函数

有的同学可能还会想到  和 这两个函数,但这两种方法,是需要提前在函数调试断点的,这就比较麻烦了,一般情况下不推荐使用。

综上所述, pdb 调试方法主要有六种:

:运行 python 文件时直接进入调试模式

:事先设置断点,然后直接运行 python 文件

:事先设置断点,然后直接运行 python 模块

:事先设置断点,然后直接运行 python 模块(与 pdb.run 类似)

:在 Console 模式下出错后直接切换到调试模式,并定位到报错位置。

:可以在不设置断点的情况下,直接调试代码片段。

其中, 是本文的重点,他虽然冷门,但却很好用,推荐给大家。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210318A048O300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券