Pycharm 的图形化界面虽然好用,但是在某些场景中,是无法使用的。而 Python 本身已经给我们提供了一个调试神器 -- pdb,可能你还不知道它,为了讲解这个神器,我写了这篇文章来帮助你轻松的理解它。

1. 准备文件

在调试之前先将这两个文件准备好(做为演示用),并放在同级目录中。

utils.py

def sum(mylist):result = 0for item in mylist:result += itemreturn result

pdb_demo.py

import utilsdef myfunc(mylist):result = utils.sum(mylist)print(result)if __name__ == '__main__':print("----start----")myfunc([1,2,3,4])print("----end-----")

2. 进入调试模式

主要有两种方法

做为脚本调用,方法很简单,就像正常执行python脚本一样,只是多加了-m pdb

ptyhon -m pdb pdb_demo.py

使用这个方式进入调试模式,会在脚本的第一行开始单步调试。

对于单文件的脚本并没有什么问题,如果是一个大型的项目,项目里有很多的文件,使用这种方式只能大大降低我们的效率。

一般情况下,都会直接在你需要的地方打一个断点,那如何打呢?

只需在你想要打断点的地方加上这两行。

import pdb
pdb.set_trace()

然后执行时,也不需要再指定-m pdb了,直接python pdb_demo.py ,就会直接在这个地方暂停。

3. 调试指令

熟悉 Pycharm 的人都知道,我们执行下一步,执行到下一个断点是

同样的,pdb 也需要你更多记这样的命令。

当你看到pdb模式的标识符 (Pdb)时,就可以输入这样的命令。

我在这里将这些指令按使用频度分为三个等级。

最常用

有时使用

几乎不用

其上全部是我翻译自官方文档,原文在这里:https://docs.python.org/3/library/pdb.html

其实你大可不必死记这些命令,忘记的时候,只要敲入help并回车,就可以看所有的指令了。

4. 开始调试

这里就几个最常用的指定,来演示一遍。

这个调试过程,我加了些注释,你应该能够很轻易地理解这种调试方式。

今天pdb的调试内容大概就是这些,你学会了吗?

看到上面截图的时间了吧?是的,又是一个深夜写的文章。希望对你会有所帮助。

mysql .pdb是什么文件_超详细讲解如何使用 pdb 在服务器上调试代码相关推荐

  1. python做出来的小程序、可以在win10上面运行_超详细,手把手教你用20行Python代码制作飞花令小程序!...

    原标题:超详细,手把手教你用20行Python代码制作飞花令小程序! 来源:早起Python 作者:陈熹 飞花令是古时候人们经常玩一种"行酒令"的游戏,是中国古代酒令之一,属雅令. ...

  2. nohup 输出日志到文件_超详细的EFK安装部署教程--filebeat日志数据采集

    概述 Filebeat是本地文件的日志数据采集器. 作为服务器上的代理安装,Filebeat监视日志目录或特定日志文件,tail file,并将它们转发给Elasticsearch或Logstash进 ...

  3. mysql多字段数据统计_超详细的mysql元数据sql统计--information_schema

    概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库.其中 performance_schema 用于性能分析,而 in ...

  4. mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程

    下载MySQL MySQL的官网地址:https://www.mysql.com/. 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community S ...

  5. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  6. Python单线程爬取QQ空间说说存入MySQL并生成词云(超详细讲解,踩坑经历)

    利用python爬取好友说说并分析 看了网上的许多博客,基本上都是一个样,基本的知识也没详细解释,我这次也想跟大家仔细分析一下,自己还是要有一定爬虫基础,本人技术有限,如果本文哪有错误或不够准确的地方 ...

  7. python用for循环画雪花图形_超详细讲解如何五步画出立体彩色雪花

    话不多说先上最终效果图: 这个程序需要用到 turtle 库绘制图案, random 库获取随机颜色,以及 递归 的算法 具体的详细turtle库使用说明,推荐这个链接,非常详细>>> ...

  8. 苹果手机mov文件如何复制到电脑_如何在手机上访问电脑上的文件(超详细步骤) iPhone版...

    之前分享了如何在两台电脑上共享文件,如需访问可点击如下链接: Town-Tree:如何在两台电脑之间共享文件(超详细步骤)​zhuanlan.zhihu.com 如何在安卓手机上访问电脑上的文件,可点 ...

  9. mysql 8.0.22_最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

    前言 前几天下载安装了最新版的MySQL 8.0.22,遇到了不少问题,参考了一些方法,最终得以解决.今天将自己的安装过程记录下来,希望对各位有所帮助. 一.MySQL 8.0.22官网下载 点击进入 ...

最新文章

  1. 图形化的Redis监控系统redis-stat安装
  2. 传输18 Gbps的HDMI 2.0,包括4 K 60 4:4:4参考设计
  3. java 4大作用域_JavaWeb的四大作用域详解
  4. Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划
  5. 【Java】基于注解开发初探
  6. 四、Web服务器——Session Cookie JSP入门 学习笔记
  7. java 并发协作控制
  8. poj3264RMQ
  9. 岁月的剪影【十二月一年之计始于此】
  10. 数码照片像素与可冲印照片尺寸对照表
  11. 使用requests爬虫制作自己的天气预报“Api”
  12. OKR教练:OKRs-E如何帮你落地OKR
  13. Bert模型详解和训练实例
  14. (免费分享)基于springboot论坛bbs系统
  15. linux dmesg命令参数及用法详解
  16. File常用方法,不积硅步无以至千里
  17. 引入CSS样式表的三种方式
  18. 外汇天眼:多位支持加息放缓!美元走弱黄金上涨
  19. 1588分析和实现总纲
  20. IoC容器和Servlet容器

热门文章

  1. 教师进修学校计算机教学反思,优秀教学反思
  2. mysql udf提权hex_Mysql_UDF提权
  3. 【Jmeter篇】如何利用Jmeter配置元件计数器、随机变量制造批量数据和变量参数化?
  4. java——Runtime
  5. var let this的区别
  6. pandas-事例练习
  7. Objective-C Runtime 运行时之四:Method Swizzling
  8. 二维数组最大子数组和
  9. hdu 2570 贪心
  10. 经典的十个机器学习算法