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如何实现单步调试相关推荐

  1. python编程(pdb调试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很长时间,我都以为python是没有单步调试的.也就是说,使用python不能像使用c一样快乐地 ...

  2. Python之pdb代码调试

    调试程序对于开发人员是一项非常重要的技能,它使得我们能够查看程序的运行过程,帮助我们准确的定位程序中的错误. 然而,令人意外的是,无数的Python工程师居然不知道如何对Python代码进行单步调试, ...

  3. python设置断点_python调试 设置断点

    原博文 2013-12-09 11:29 − 1在所需要调试的地方加入如下代码: import pdb pdb.set_trace() 2调试代码常用命令: 实例请见参考文献: 1http://www ...

  4. python编辑器spyder运行_使用spyder编译器单步调试python

    1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...

  5. spyder python调试_使用spyder编译器单步调试python

    1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...

  6. python单步调试的方法_python断点调试方法

    pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了 ...

  7. 使用spyder编译器单步调试python

    1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...

  8. python逐行调试_python如何单步调试

    Python怎么单步调试?下面给大家介绍一下单步调试: 方法一:执行 python -m pdb myscript.py (Pdb) 会自己主动停在第一行.等待调试,这时你能够看看帮助. 方法二:在所 ...

  9. python单步调试

    对于python一些逻辑错误,它的语法并不能完全识别出来,这就要我们一步步调试分析,所以单步调试是我们进行代码调试所必须进行的 首先打开pycharm界面,进行调试的时候,我们已经编写好了程序,此时我 ...

最新文章

  1. 3-runtime 之 Tagged Pointer
  2. 简单使用DESeq2/EdgeR做差异分析
  3. Redis报错解决:RDB: 0 MB of memory used by copy-on-write
  4. Windows+Git+TortoiseGit+COPSSH安装图文教程 转载
  5. osg图元绑定方式总结
  6. 一个朋友的一天,太酸了!
  7. 理解linux time命令的输出
  8. 组合赋权法之python
  9. 2020新时尚之都指数报告
  10. python正则化_Python正则表达式
  11. 吸收塔如何提高吸收率_缺钙了该如何补钙?饮食补钙更健康
  12. sap供应商主数据表_SAP供应商统驭科目调整操作说明
  13. oracle里的or 短路么,Oracle CASE短路不能分组工作
  14. 国内使用谷歌健身的方法
  15. 2021年全球消费级音频产品行业调研及趋势分析报告
  16. 全球都在建智慧城市,智慧城市究竟什么样?中通服创立科技告诉你
  17. FastDFS分布式文件系统(详细入门级介绍)
  18. 刚刚,人类第一次直接“看见”了黑洞
  19. 手撕自动驾驶算法——多目标追踪:imm交互式多模型
  20. 144hz和60hz测试软件,144hz和60hz显示器的区别是什么?显示器144hz和60hz游戏差别对比...

热门文章

  1. matlab 二阶非线性微分方程组,二阶非线性常微分方程的打靶法matlab实现.doc
  2. 右边菜单_Excel – 如何始终显示下拉菜单右边的小箭头?
  3. LNMP环境搭建(二)集成Nginx与PHP
  4. python框架flask系列(2),Python的Web框架之Flask(2)
  5. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作
  6. 指定的文件夹没有包含设备的兼容软件驱动程序_Windows 10 2020年5月更新兼容性问题汇总...
  7. php设置at定时,laravel定时任务
  8. 使用条件编译加密报文
  9. 【c语言】蓝桥杯算法训练 6-2递归求二进制表示位数
  10. mysql写入时判断锁_MySQL 锁检查