Python原生调试工具pdb实践小结

使用python -m pdb xxx.py进入单步调试模式,默认会在脚本的第一行可执行命令处停止。此时,通过 b function设置之后的函数断点会提示出错,从出错异常栈中可以看出,pdb是将function当做行号来识别,而函数名是字符串,转换成整形会失败,因此会提示出错。在处理转换整形失败异常时,会尝试执行 function,如果当前解析器还执行到该函数(由于是刚开始调试,相关函数尚未解析),那么在该函数上设置断点又会触发异常。那么,通过单步调试,如何开始呢?

经过多番尝试,总结这样的工程实践经验,在单步进入时,先通过 b lineno设置为期望调试的入口行号后,按c运行至此处,然后,通过b function设置后续的函数断点,设置的function要求已经过解释器解释过的。这可能是pdb单步调试的缺陷。

还有一种侵入式的调试方式就是在源代码中导入pdb模块,在需要设置断点的地方手动加上 pdb.set_trace(),通过python xx.py命令启动程序后,可直接执行到断点处,然后再单步调试下去。这样对源代码有侵入性,不怎么友好。

原文地址:https://www.cnblogs.com/cherishui/p/11397933.html

时间: 2024-08-28 22:23:12

Python原生调试工具pdb实践小结的相关文章

GDB调试工具的实践

GDB是GNU Debuger的简称,是GNU发布的一款unix下应用程序调试工具.它被广泛使用在各个产家各种应用中.GDB和所有常用的调试工具一样,它的主要功能有:监视变量的值.设置断点及单步执行. 注意,在源程序编译时,要使用gcc -g 或 cc -g 或 g++ -g将源程序编译成可执行文件,然后才能使用gdb进行调试.只有这样,生成的可执行文件才包含调试信息. 参考别人的写一个简单的c程序,在linux下使用gcc编译成可执行文件,然后使用gdb进行调试. 程序源代码如下 #inclu

Python多核编程mpi4py实践

Python多核编程mpi4py实践 [email protected] http://blog.csdn.net/zouxy09 一.概述 CPU从三十多年前的8086,到十年前的奔腾,再到当下的多核i7.一开始,以单核cpu的主频为目标,架构的改良和集成电路工艺的进步使得cpu的性能高速上升,单核cpu的主频从老爷车的MHz阶段一度接近4GHz高地.然而,也因为工艺和功耗等的限制,单核cpu遇到了人生的天花板,急需转换思维,以满足无止境的性能需求.多核cpu在此登上历史舞台.给你的老爷车多加

Python编程入门到实践 - 笔记(1,2章)

自学 Python 有段时间了,总是觉得自己基础不牢,想着把看完的两本基础书写个博客做个笔记啥的. 准备在重新看一遍<Python编程入门到实践>,坚持写博客笔记. Python编程入门到实践的前两章笔记,学习的内容如下: 查看当前环境中的 python 版本 python环境的搭建 变量和变量的命名 字符串的打印 修改字符串的大小写 制表符和换行符 删除空白字符 python的整数运算,计算平方,立方 使用 str() 函数 查看当前环境中的 python 版本 命令行下输入 python 

Python os模块 常用功能小结

Python os模块 常用功能小结 os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平台指定的,os 模块能在不同操作系统平台如 nt 或 posix中的特定函数间自动切换,从而能实现跨平台操作 1, os.name: 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. 2, os.stat(file):文件属性操作: 3, os.getcwd():得到当前工作目录,即当前Python脚本工作的目录路径: 4,

python + selenium自动化环境常见问题小结

python + selenium自动化环境常见问题小结 (1)操作Windows窗口有三种方法,一是使用AutoIT软件生成exe程序,再用系统命令调用:二是使用SendKeys类模拟键盘操作(只能定位当前的焦点):三是使用pywinauto组件(win32gui) (2)pywinauto包只支持到python2.6版本.SendKeys包在python3.0版本上也无法安装成功. (3)执行完用例进行断言校验时,一般会获取元素的text属性,有时候在页面上查看元素有text值,而获取的为空

Python数据分析基础与实践 Python数据分析实践课程 Python视频教程

课程简介: Python数据分析基础与实践 Python数据分析实践课程 Python视频教程----------------------课程目录------------------------------├<章节1Python概况>├<章节2Python安装>├<章节3数据准备>├<章节4数据处理>├<章节5数据可视化>├<章节6网页数据抓取>├<章节7连接MySQL>├<章节8数据分析> 下载地址:百度网盘

分享《Python数据挖掘入门与实践》高清中文版+高清英文版+源代码

下载:https://pan.baidu.com/s/1J7DOGrjoF7HnaSZ8LvFh_A更多资料分享:http://blog.51cto.com/3215120 <Python数据挖掘入门与实践>高清中文版+高清英文版+源代码 高清中文版PDF,251页,带目录和书签,能够复制粘贴:高清英文版PDF,344页,带目录和书签,能够复制粘贴:中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 其中高清中文版如图 原文地址:http://blog.51cto.com/32151

分享《Python数据挖掘入门与实践》+PDF+源码+]Robert Layton+杜春晓

下载:https://pan.baidu.com/s/1vsWQvQFo_EzhUqdQS1G3_w更多资料分享:http://blog.51cto.com/14087171 <Python数据挖掘入门与实践>高清中文版+高清英文版+源代码 高清中文版PDF,251页,带目录和书签,文字能够复制粘贴:高清英文版PDF,344页,带目录和书签,文字能够复制粘贴:中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 其中高清中文版如图 原文地址:http://blog.51cto.com/

Python编程入门与实践pdf电子版下载

Python编程入门与实践pdf电子版下载 分享链接:https://pan.baidu.com/s/1h7TfuuUcaju8nkrMZgv-hg 提取码:7lo8 本书针对想要学习Python却无从下手的同学们准备的,希望好的资源能够给老铁提供有用的帮助 书籍目录 第一部分 基础知识 第1章 起步 1.1 搭建编程环境 1.1.1 Python 2和Python 3 1.1.2 运行Python代码片段 1.1.3 Hello World程序 1.2 在不同操作系统中搭建Python编程环境