[python] 像gdb一样用pdb debug python程序

如题,我们希望像gdb C程序一样。对python程序就行debug

可以使用pdb来实现这样的功能。

见:https://docs.python.org/3/library/pdb.html

最简单的方法,我们以longest_substring.py为例。

使用如下方式执行它,便进入了debug模式:

┬─[[email protected]:~/Src/copyleft/algorithm/string]─[11:37:33 AM]
╰─>$ python -m pdb longest_substring.py a1234 c23d
> /home/tong/Src/copyleft/algorithm/string/longest_substring.py(3)<module>()
-> import sys
(Pdb) b lss
Breakpoint 1 at /home/tong/Src/copyleft/algorithm/string/longest_substring.py:10
(Pdb) r
a1234
c23d
> /home/tong/Src/copyleft/algorithm/string/longest_substring.py(11)lss()
-> la = len(a)
(Pdb) 

[classic_tong @ https://www.cnblogs.com/hugetong/]

像gdb的用法一样,命令b设置断点,命令r运行程序,命令n单步执行。

原文地址:https://www.cnblogs.com/hugetong/p/12155521.html

时间: 2024-08-30 11:17:51

[python] 像gdb一样用pdb debug python程序的相关文章

GDB 自动化操作的技术-PYTHON

https://github.com/spacewander/debugger-utils http://python.jobbole.com/85415/ https://segmentfault.com/a/1190000005367875 用 Python 拓展 GDB(四) 用 Python 拓展 GDB(三) 用 Python 拓展 GDB(二) 定位Python built-in函数的源码实现 用 GDB 排查 Python 程序故障

如何用pdb进行python调试

摘自 : http://www.91linux.com/html/article/program/python/20111119/22356.html 本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/library/pdb.html 和 (pdb)help 用pdb进行python调试,用法基本和gdb差不多, 先看一个简单的例子: epdb1.p

使用 gdb 调试运行中的 Python 进程

本文和大家分享的是使用 gdb 调试运行中的 Python 进程相关内容,一起来看看吧,希望对大家学习python有所帮助. 准备工作 安装 gdb 和 python2.7-dbg: $ sudo apt-get install gdb python2.7-dbg 设置 /proc/sys/kernel/yama/ptrace_scope: $ sudo su# echo 0 > /proc/sys/kernel/yama/ptrace_scope 运行 test.py: $ python te

【Python】代码调试(pdb与logging使用)

一.pdb使用 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等. 在程序中间插入一段程序(import pdb     pdb.set_trace() ),相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的 1.加入断点 #!/usr/bin/python import pdb _DEBUG = True def debug_d

使用pdb调试python脚本

pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了一些常用的调试命令 命令 解释 break 或 b 设置断点 设置断点 continue 或 c 继续执行程序 list 或 l 查看当前行的代码段 step 或 s 进入函数 return 或 r 执行代码直到从当前函数返回 exit 或 q 中止并退出 next 或 n 执行下一行 pp 打印变

vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块

关于vscode如何配置debug的问题: 1.下载安装好python,并且配置好 环境变量 2.https://www.cnblogs.com/asce/p/11600904.html 3.严格按照上面进行操作的话,用vscode直接打开  文件夹即可 (.vscode文件中的launch.json文件其实就是指导软件在debug时如何做,可以自己生成,不用自定义设置) python正则表达式如何匹配括号,中括号一类的问题: 给括号加上[ ] 例如:abc(123)def  要匹配括号中的数字

Python开发【Part 7】:Python常用模块

本节内容: 模块介绍 自定义模块 开源模块 os模块 sys模块 hashlib模块 json和pickle模块 shutil模块 ConfigParser模块 logging模块 time模块 re模块 random模块 一.模块介绍 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组

这本Python入门畅销书《“笨办法”学python 3》,不仅仅是一本书

此前,小编分享过一篇文章<跟着数百万人编程导师学C语言!>,介绍的是泽德 A. 肖大神的新书<"笨办法"学C语言>很多用户在后台留言,<"笨办法"学Python 3>什么时候出版?今天这本书终于在六月初与大家见面啦,与作者其他的图书风格一样,<"笨办法"学Python 3>也不仅仅是一本书,随书附赠5个多小时充满激情的视频,这是一套完整的Python语言视频课程! 纯正的美式发音,中文字幕,边看边练

Python代写,Python作业代写,代写Python,代做Python(微信leechanx)

Python代写,Python作业代写,代写Python,代做Python(微信leechanx) Redis:Cannot assign requested address的解决办法 客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即"Cannot assign requestedaddress".是客户端的问题不是服务器端的问题.通过netstat,的确看到很多TIME_WAIT状态的连接.