首页 > 编程语言 >python的debug—pdb的使用笔记

python的debug—pdb的使用笔记

时间:2024-11-17 19:20:51浏览次数:1  
标签:函数 python 代码 debug 断点 pdb 运行

相关:

【python】来学学debugger吧,不能只会用print调试呀!


虽然写了这么多年的代码,不论是C++还是python,我几乎都没有使用过debug,当然这并不是说我写的代码从来不出问题,而是我几乎都是用print的方法,或者直接头脑风暴,但是我并不是不认为debug没有用,而是我一直没有遇到需要debug的代码,当然这可能和自己的代码量和任务类型有关,但是我依然认为写代码还是应该需要掌握debug的技术。


修改源码的方式进行debug:

源码中加入 breakpoint()


p 打印变量;

w 打印当前栈;

l 打印当前行附近代码(连续输入l代表向下再显示一定的行数);

l. 回到当前函数;

ll 显示当前函数的所有代码;

u 切换到上一帧;

d 切换到下一帧;

n 向下运行一行程序(跳出方式,跳出调用的函数);

s 向下运行一行程序(step方式,进入调用的函数);

until 运行到比当前行的行数大的行,跳出循环所常用的方法;

until+数字 运行到指定行;

r 运行到函数的返回处(运行到所在函数的return处,return);

retval 上一个调用函数的返回值;

c 跳出当前调试,接着运行;

clear+数字 删除指定号的断点,b显示断点情况,打印断点号,再使用clear清除掉指定的断点;


不修改源码的方式debug:

python -m pdb example.py


b 设置断点(b 5 在第5行设置断点),不加数字表示打印出所有断点的位置;

b b+函数名,断点设置为运行到某函数,停留在这个还是的return处;


PS:

自己写的代码或许不用debug,但是如果是review其他人写的代码,估计还是要用到debug的。



个人github博客地址:
https://devilmaycry812839668.github.io/

标签:函数,python,代码,debug,断点,pdb,运行
From: https://www.cnblogs.com/xyz/p/18550936

相关文章

  • Kibana:使用 Devtools console 把请求变成 Python 或 Nodejs 的代码
    特别指出,这个最新的ElasticStack8.16发布版的功能。我很兴奋地来尝试这个功能。在今天的文章中,我们来使用一个例子来进行详细地描述。安装如果你还没有安装好自己的Elasticsearch及Kibana,请参考如下的文章来进行安装:如何在Linux,MacOS及Windows上进行安装Elast......
  • Python学习从0到1 day28 Python 高阶技巧 ⑥ Socket服务端开发
    我们终将上岸,阳光万里                        ——24.11.13一、Socketsocket(简称套接字)是进程之间通信一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行。进程之间想要进行网络通信需要socket。Socket负责进程之间的网......
  • VUE:debugger在浏览器中断点无效
    vue添加debugger,MicrosoftEdge浏览器中没有停到断点的位置谷歌浏览器排查基本一致 打开浏览器,F12, 点击右侧三个横着展示连续的点->点击设置 排查项:可能添加了忽略列表点击忽略列表根据实际勾选,不确定的话,去勾选“启用忽略列表”前面的选中 排查项:可能去勾选了Jav......
  • Python 潮流周刊#77:Python 依赖管理就像垃圾场火灾?(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。分享了12篇文章,12个开源项目,2则热门讨论,全文2200字。以下是本期摘要:......
  • 【Python图解】跟着图片,带你入门Python
    【图解Python】跟着图片流程,带你入门PythonPython安装及基本语法Python是一种上手简单、功能丰富的编程语言,广泛用于数据科学领域。它允许用户快速解决问题,而不必深陷复杂的语法和编程细节。在全球数据科学家和研究人员享受Python带来的便利的同时,也有人在开发强大的数据......
  • 【视频讲解】Python深度神经网络DNNs-K-Means(K-均值)聚类方法在MNIST等数据可视化对比
    全文链接:https://tecdat.cn/?p=38289原文出处:拓端数据部落公众号分析师:CucuSun近年来,由于诸如自动编码器等深度神经网络(DNN)的高表示能力,深度聚类方法发展迅速。其核心思想是表示学习和聚类可以相互促进:好的表示会带来好的聚类效果,而好的聚类为表示学习提供良好的监督信号。关......
  • 【华为OD技术面试手撕真题】84、前 K 个高频元素 | 手撕真题+思路参考+代码解析(C & C+
    文章目录一、题目......
  • python学习笔记1
    *args:不定长参数,特点:可以接受[0.+无穷大)的实参print(*values,sep='',end='\n',file=sys.stdout,flush=False)values:会将实参转换成字符串,再输出sep:输出多个对象时用什么间隔,默认为一个空格字符,若要改变其他方式间隔,则需要关键词参数。end:用什么结尾,默认为换行‘\n’......
  • Python+Flask实现搜索引擎,万能搜索框
    万能框指同时支持股票、基金、新闻搜索和命令查询等。下面按新闻、股票、基金检索顺序介绍。一、新闻搜索引擎主要技术当你用Python+Selenium下载新闻之后,如何下载参考上篇博文,就会面临新闻搜索的问题。自己做一个搜索引擎的优点很明显,没有广告,节省时间,如图的比较:搜索......
  • python岭迹图绘制函数
    一.岭迹图是什么?    岭迹图(RidgeTracePlot)是一种可视化工具,用于展示岭回归中正则化参数($\alpha$)对回归系数的影响。它能帮助我们理解特征的稳定性和正则化在控制模型复杂度中的作用。二.什么时候需要看岭迹图?存在共线性特征时当特征间高度相关,普通最小二乘法(OLS)......