Python如何实现单步调试
Python如何实现单步调试
https://www.cnblogs.com/jing1617/p/9396617.html
https://www.cnblogs.com/xiaohai2003ly/p/8529472.html
python -m pdb install_patch.py -u sa -s DBSVR -p Changeme_123 -l zh_CN -t standalone
pdb.set_trace()
Python如何实现单步调试
方法一:执行 python -m pdb myscript.py
(Pdb) 会自己主动停在第一行。等待调试,这时你能够看看 帮助
一、在控制台下进行程序调试
PDB
如果你熟悉命令行调试工具(例如gdb、lldb),那么使用Python中的PDB将获得非常好的体验,PDB不仅支持项目启动时进行调用,也支持在Python shell中交互式调试;功能上,支持断点、步进、异常捕获和解决、变量查看、变量改写、栈查看甚至字节码查看等。
举个PDB断点调试的例子:
用文本编辑器新建一个文档,就命名为debug1.py吧,输入最简单的Python代码片段:
import pdb
a = "a string"
b= "b string"
pdb.set_trace()
print("next step")
然后运行这个脚本,Windows下面这样运行 :
python debug1.py
然后执行到pdb.set_trace()这句后会自动进入断点调试模式,屏幕会显示类似的信息:
> c:\users\david\documents\debug1.py(5)<module>()
-> print("next step")
(pdb)
PDB显示目前的断点位置,然后你就可以使用PDB调试命令了。
Tips:其他常用命令有:
pp,打印
n,下一步,执行下一步
s,步进,一步步的执行
l,列出,显示断点周围的源代码
c,继续,继续程序的运行
r,返回,继续直到当前函数返回
由PDB引入的VIM、Emacs工具都能很好地实现类似lldb和gdb的效果。同时,结合IPython这一扩展功能shell,其中的魔法命令能够更好地帮助程序调试。这是一般*nix环境下常见的调试组合,配合配置良好的文本编辑工具都能实现不错的类IDE体验。PDB更能进行远程调试,即对远端(如服务器上正在运行着的Python代码)进行调试。几乎所有的debugger工具都是在PDB的功能基础上进行用户界面上的提升。
此外,对于部分框架,尤其是Web框架,进行调试往往需要结合具体的上下文环境(例如Django的开发调试测试需要上下文环境等),PDB交互式调试可以直接挂载在对应的交互环境中(如Django shell)。
Pudb
如果你觉得这样太原始,那么可以尝试pudb,它是基于控制台的debug图形化debugger工具,稍微比pdb直观一点,但仅可以在Linux下运行。
Python如何实现单步调试相关推荐
- python编程(pdb调试)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很长时间,我都以为python是没有单步调试的.也就是说,使用python不能像使用c一样快乐地 ...
- Python之pdb代码调试
调试程序对于开发人员是一项非常重要的技能,它使得我们能够查看程序的运行过程,帮助我们准确的定位程序中的错误. 然而,令人意外的是,无数的Python工程师居然不知道如何对Python代码进行单步调试, ...
- python设置断点_python调试 设置断点
原博文 2013-12-09 11:29 − 1在所需要调试的地方加入如下代码: import pdb pdb.set_trace() 2调试代码常用命令: 实例请见参考文献: 1http://www ...
- python编辑器spyder运行_使用spyder编译器单步调试python
1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...
- spyder python调试_使用spyder编译器单步调试python
1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...
- python单步调试的方法_python断点调试方法
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了 ...
- 使用spyder编译器单步调试python
1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...
- python逐行调试_python如何单步调试
Python怎么单步调试?下面给大家介绍一下单步调试: 方法一:执行 python -m pdb myscript.py (Pdb) 会自己主动停在第一行.等待调试,这时你能够看看帮助. 方法二:在所 ...
- python单步调试
对于python一些逻辑错误,它的语法并不能完全识别出来,这就要我们一步步调试分析,所以单步调试是我们进行代码调试所必须进行的 首先打开pycharm界面,进行调试的时候,我们已经编写好了程序,此时我 ...
最新文章
- 3-runtime 之 Tagged Pointer
- 简单使用DESeq2/EdgeR做差异分析
- Redis报错解决:RDB: 0 MB of memory used by copy-on-write
- Windows+Git+TortoiseGit+COPSSH安装图文教程 转载
- osg图元绑定方式总结
- 一个朋友的一天,太酸了!
- 理解linux time命令的输出
- 组合赋权法之python
- 2020新时尚之都指数报告
- python正则化_Python正则表达式
- 吸收塔如何提高吸收率_缺钙了该如何补钙?饮食补钙更健康
- sap供应商主数据表_SAP供应商统驭科目调整操作说明
- oracle里的or 短路么,Oracle CASE短路不能分组工作
- 国内使用谷歌健身的方法
- 2021年全球消费级音频产品行业调研及趋势分析报告
- 全球都在建智慧城市,智慧城市究竟什么样?中通服创立科技告诉你
- FastDFS分布式文件系统(详细入门级介绍)
- 刚刚,人类第一次直接“看见”了黑洞
- 手撕自动驾驶算法——多目标追踪:imm交互式多模型
- 144hz和60hz测试软件,144hz和60hz显示器的区别是什么?显示器144hz和60hz游戏差别对比...
热门文章
- matlab 二阶非线性微分方程组,二阶非线性常微分方程的打靶法matlab实现.doc
- 右边菜单_Excel – 如何始终显示下拉菜单右边的小箭头?
- LNMP环境搭建(二)集成Nginx与PHP
- python框架flask系列(2),Python的Web框架之Flask(2)
- python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作
- 指定的文件夹没有包含设备的兼容软件驱动程序_Windows 10 2020年5月更新兼容性问题汇总...
- php设置at定时,laravel定时任务
- 使用条件编译加密报文
- 【c语言】蓝桥杯算法训练 6-2递归求二进制表示位数
- mysql写入时判断锁_MySQL 锁检查