PDB调试Python程序

pdb是python内置的调试工具, 它可以在终端中调试Python程序, 这允许pdb在很多无法安装IDE的服务器上使用.

虽然远程调试使用广泛, 但在必要的时候(比如难以在本地搭建运行环境)pdb仍然是一个便利的选择.

我们可以在python源代码中设置断点:

import pdbdef func():for i in range(100):pdb.set_trace() # set breakpointprint(i)

随后执行源文件, pdb.set_trace()会如同一个断点阻塞当前Python进程进入pdb终端.或者使用python -m pdb test.py指令从第一行开始调试进入.

test.py(5)<module>()
-> print(i)
(Pdb)

pdb终端会显示文件名, 行号,当前文件, 下一行指令等信息.并等待用户指令:

  • c / continue: 继续执行, 直至进程完成或被断点阻塞

  • n / next: 执行下一条指令, 若遇函数直接得到函数返回值, 不进入

  • s / step: 步进执行下一条指令,若遇函数则进入执行

  • r / return: 跳出当前函数, 返回调用栈的上一层

  • b / breakpoint [<line_num>] : 在指定行(下一条指令处)设置一个断点:b, b 5

  • a / args: 显示当前函数的参数

  • q / exit: 中止进程执行

  • l / list: 显示下一条指令所在的代码块

  • pp <obj_name>: 显示某个对象的值

  • disable / enable <line_num>: 禁用/启用某行上的断点

  • condition [<line_num>] <condition>: 在指定行上设置条件断点.如:condition 5 i==3

  • !<expr>: 动态执行一条语句, 可以是赋值等指令: !i=2, !1==1.

参考资料:

  • pdb docs

转载于:https://www.cnblogs.com/Finley/p/6071463.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不使用中间变量交换2个数据

2019独角兽企业重金招聘Python工程师标准>>> 第一种方法&#xff1a; <!-- lang: cpp -->aab;ba-b;aa-b;可能产生越界和溢出。 第二种方法&#xff1a; <!-- lang: cpp -->aa^b;ba^b;aa^b;这种方法只适用整形数。 写成宏的形式 <!-- lang: cpp -->…

slf4j的简单用法以及与log4j的区别

From: https://www.cnblogs.com/qlqwjy/p/9275415.html 之前在项目中用的日志记录器都是log4j的日志记录器&#xff0c;可是到了新公司发现都是slf4j&#xff0c;于是想着研究一下slf4j的用法。 注意:每次引入Logger的时候注意引入的jar包&#xff0c;因为有Logger的包太多了。…

PS不能存储,因为程序错误

当PS中遇到不能存储文件&#xff0c;因为程序错误时&#xff0c;可以这样&#xff1a; http://www.zcool.com.cn/article/ZMTgwOTQw.html 转载于:https://www.cnblogs.com/kjcy8/p/6072599.html

MEF相关总结

&#xff08;1&#xff09;蛮好的一篇文章&#xff1a;LoveJenny的MEF 打造的插件系统 一个简单单很能容易理解的例子讲解了MEF. &#xff08;2&#xff09;原理方面的看Bēniaǒ成长笔记的《MEF程序设计指南》博文汇总 &#xff08;3&#xff09;http://www.cnblogs.com/pszw/…

JdbcType类型和Java类型的对应关系

From: https://www.cnblogs.com/tongxuping/p/7134113.html 在Oracle中有些字段不是必填时在用户使用的时候会出现数据null的情况。这个时候在Oracle中是无法进行插入的。 1 JDBC Type Java Type 2 CHAR String 3 VARCHAR String 4 L…

MyBatis Generator配置文件翻译

From: https://www.cnblogs.com/GaiDynasty/p/4088531.html <classPathEntry> 驱动文件指定配置项 <classPathEntry location"/Program Files/IBM/SQLLIB/java/db2java.zip" /> <columnOverride> 将数据库中的字段重命名为实体类的属性 colu…

java实现计算字符串表达式

ScriptEngineManager manager new ScriptEngineManager(); ScriptEngine engine manager.getEngineByName("JavaScript");Object result engine.eval("12");转载于:https://www.cnblogs.com/highfly2012/p/6080374.html

Android:Application

1.Application是程序真正的入口&#xff0c;启动时会先执行Application再执行其他组件。2.建立自己的Application类&#xff0c;需要在xml里将application修改自己的application类&#xff1a;<applicationandroid:name"com.example.aexh_19_application.MyApplication…

实体entity、JavaBean、Model、POJO、domain的区别

From: https://blog.csdn.net/u011665991/article/details/81201499 Java Bean、POJO、 Entity、 VO &#xff0c; 其实都是java 对象&#xff0c;只不过用于不同场合罢了。 按照 Spring MVC 分层结构&#xff1a; JavaBean: 表示层 &#xff08;Presentation Layer&#xf…

【Linux_Fedora_系统管理系列】_1_用户登录和系统初始配置

发现一个问题&#xff0c;在FC14 的Firefox浏览器中&#xff0c;编辑和排版好的博文&#xff0c;在windows下用chrome或者猎豹浏览器打开后&#xff0c;排版就变得阅读 不是很容易里&#xff0c;而且经常不经意的断行。不知道园子的管理人员时候注意到了这个问题。 Linux系统的…

HDU 2202 计算几何

最大三角形 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4015 Accepted Submission(s): 1433 Problem Description老师在计算几何这门课上给Eddy布置了一道题目&#xff0c;题目是这样的&#xff1a;给定二维…

SpringBoot系列十:SpringBoot整合Redis

From: https://www.cnblogs.com/leeSmall/p/8728231.html 声明&#xff1a;本文来源于MLDN培训视频的课堂笔记&#xff0c;写在这里只是为了方便查阅。 1、概念&#xff1a;SpringBoot 整合 Redis 2、背景 Redis 的数据库的整合在 java 里面提供的官方工具包&#xff1a;j…

海贼王革命家—龙—实力到底如何?

龙——整个海贼王世界中最神秘的人物&#xff0c;令世界政府最担心的存在&#xff0c;是所有迷最为期待的实力展现&#xff0c;他的身上好像有着无数的秘密等着尾田为我们揭晓。 路飞的父亲——未来的海贼王、卡普的儿子——海军英雄、革民军首领——唯一可以跟世界政府抗衡的组…

python模块介绍- xlwt 创建xls文件(excel)

python模块介绍- xlwt 创建xls文件&#xff08;excel&#xff09; 2013-06-24磁针石 #承接软件自动化实施与培训等gtalk&#xff1a;ouyangchongwu#gmail.comqq 37391319 博客:http://blog.csdn.net/oychw #版权所有&#xff0c;转载刊登请来函联系 # 深圳测试自动化python项目…

SpringBoot(六):SpringBoot整合Redis

From: https://blog.csdn.net/plei_yue/article/details/79362372 前言 在本篇文章中将SpringBoot整合Redis&#xff0c;使用的是RedisTemplate&#xff0c;分别实现了SpringBoot与redis的单机版、集群版、哨兵模式的整合。 Maven依赖 <!-- 整合redis --> <…

[4]Telerik Grid 简单使用方法

1.columns <% Html.Telerik().Grid(Model).Name("Orders").Columns(columns >{//绑定列名columns.Bound(o > o.OrderID);//隐藏字段columns.Bound(o > o.OrderID).Hidden(true); //绑定列标题 columns.Bound(o > o.OrderDate).Title("…

Springboot 2.x版本 RedisCacheManager 类的配置,【与1.x 略有不同】

From: https://blog.csdn.net/qq_15071263/article/details/82897330 文章目录 Springboot 2.x版本 RedisCacheManager 类的配置&#xff0c;【与1.x 略有不同】 1、1.x 配置方式 2、2.x 配置方式 Springboot 2.x版本 RedisCacheMan…

.net应用程序中添加chm帮助文档打开显示此程序无法显示网页问题

在做.net大作业时添加了chm帮助文档结果在打开时显示“此程序无法显示网页问题”&#xff0c;但是把帮助文档拷到别的路径下却显示正常&#xff0c; 经过从网上查找&#xff0c;终于找到了答案&#xff1a; (1)、chm文件的路径中不能含有“#”“%”等字符&#xff0c;当含有这些…

新磁盘创建lvm并挂载

1 ### 1.查看硬盘2 fdisk -l3 4 ### 删除分区5 fdisk /dev/sdc6 ### 按d删除&#xff0c;按w保存并退出7 8 ### 创建pv9 pvcreate /dev/sdc 10 11 ### 创建 vg 12 vgcreate vg_hdp /dev/sdc 13 14 ### 创建 lv 15 lvcreate -L 200G -n lv_hdp vg_hdp 16 17 ### 格式化 lv 18…

用unison来同步你的远程文件夹 - Fwolf's Blog

用unison来同步你的远程文件夹 - Fwolfs Blog: "" (Via.)转载于:https://www.cnblogs.com/devops/p/3157101.html