python的pdb调试命令的命令整理及实例

python的pdb调试命令的命令整理及实例

一、命令整理

pdb调试命令
完整命令 简写命令 描述
args a 打印当前函数的参数
break b 设置断点
clear cl 清除断点
condition 设置条件断点
continue c或者cont 继续运行,知道遇到断点或者脚本结束
disable 禁用断点
enable 启用断点
help h 查看pdb帮助
ignore 忽略断点
jump j 跳转到指定行数运行
list l 列出脚本清单
next n 执行下条语句,遇到函数不进入其内部
p p 打印变量值,也可以用print
quit q 退出 pdb
return r 一直运行到函数返回
tbreak 设置临时断点,断点只中断一次
step s 执行下一条语句,遇到函数进入其内部
where w 查看所在的位置
! 在pdb中执行语句

二 pdb实例

E:\python\work>python -m pdb prime.py
> e:\python\work\prime.py(1)<module>()
->import math
(Pdb) list
1->import math
2def isprime(i):
3for t in range(2,int(math.sqrt(i))+1):
4if i % t ==0:
5return0
6else:
7return1
8
9print('100到110之间的素数为:')
10for i in range(100,110):
11if isprime(i):
(Pdb) l 12,15
12print(i)
13
14
15
(Pdb) b 12
Breakpoint1 at e:\python\work\prime.py:12
(Pdb) b 7
Breakpoint2 at e:\python\work\prime.py:7
(Pdb) c
100到110之间的素数为:
> e:\python\work\prime.py(7)isprime()
->return1
(Pdb) c
> e:\python\work\prime.py(12)<module>()
->print(i)
(Pdb) n
101
> e:\python\work\prime.py(10)<module>()
->for i in range(100,110):
(Pdb) n
> e:\python\work\prime.py(11)<module>()
->if isprime(i):
(Pdb) n
> e:\python\work\prime.py(10)<module>()
->for i in range(100,110):
(Pdb) n
> e:\python\work\prime.py(11)<module>()
->if isprime(i):
(Pdb)print i
***SyntaxError:Missing parentheses in call to 'print'
(Pdb) p i
103
(Pdb) where
 d:\python36\lib\bdb.py(431)run()
->exec(cmd, globals, locals)
<string>(1)<module>()
> e:\python\work\prime.py(11)<module>()
->if isprime(i):
(Pdb)break
NumTypeDispEnbWhere
1  breakpoint  keep yes  at e:\python\work\prime.py:12
    breakpoint already hit 1 time
2  breakpoint  keep yes  at e:\python\work\prime.py:7
    breakpoint already hit 1 time
(Pdb) disable 1
Disabled breakpoint 1 at e:\python\work\prime.py:12
(Pdb)break
NumTypeDispEnbWhere
1  breakpoint  keep no  at e:\python\work\prime.py:12
    breakpoint already hit 1 time
2  breakpoint  keep yes  at e:\python\work\prime.py:7
    breakpoint already hit 1 time
(Pdb) n
> e:\python\work\prime.py(7)isprime()
->return1
(Pdb) where
 d:\python36\lib\bdb.py(431)run()
->exec(cmd, globals, locals)
<string>(1)<module>()
 e:\python\work\prime.py(11)<module>()
->if isprime(i):
> e:\python\work\prime.py(7)isprime()
->return1
(Pdb) cl
Clear all breaks? y
Deleted breakpoint 1 at e:\python\work\prime.py:12
Deleted breakpoint 2 at e:\python\work\prime.py:7
(Pdb)break
(Pdb) c
103
105
107
109
The program finished and will be restarted
> e:\python\work\prime.py(1)<module>()

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 使用pdb模块调试Python程序实例

    在Python中,语法错误可以被Python解释器发现,但逻辑上错误或变量使用错误却不容易发现,如果结果没有符合预期,则需要调试,一个很好的调试工具:Python自带的pdb模块.pdb是Python自带的调试模块.使用pdb模块可以为脚本设置断点.单步执行.查看变量值等. pdb可以用命令行参数的方式启动,也可以使用import 将其导入后再使用. 复制代码 代码如下: >>> dir(pdb)  ['Pdb', 'Repr', 'Restart', 'TESTCMD',.....,'

  • 使用PDB简单调试Python程序简明指南

    在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py): 复制代码 代码如下: $ vi d.py #!/usr/bin/python def main():         i, sum = 1, 0         for i in xrange(100):                 sum = sum + i         print sum if __name__ == '__main__'

  • 使用Python中PDB模块中的命令来调试Python代码的教程

    你有多少次陷入不得不更改别人代码的境地?如果你是一个开发团队的一员,那么你遇到上述境地的次数比你想要的还要多.然而,Python中有一个整洁的调试特性(像其他大多数语言一样),在这种情况下使用非常方便.本文是一篇快速教程,希望它能让你的编码生活更加容易. 1. 一个混乱的程序 出于本教程的目的,让我们研究一下下面的简单程序. 这个程序接收两个命令行参数,然后执行加法和减法操作. (假设用户输入的是有效值,因此代码中我们没有进行错误处理.) import sys def add(num1=0, n

  • 使用PDB模式调试Python程序介绍

    以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过.(很多时候只是print)就从网上查找一下~ 方法: 复制代码 代码如下: python -m pdb a.py a.py是python文件. (Pdb)模式下的常用命令: q 退出debug h 即help,打印所有可以命令 h w 打印命令 w 的含意 n 执行当前行直到到达下一行或直到它返回 s 执行当前行,一有可能就停止(比如当前行有一个函数调用).它和n(next)的区别是当前行中有函数调用时s

  • python pdb调试方法分享

    复制代码 代码如下: import pdb def pdb_test(arg):    for i in range(arg):        print(i)    return arg pdb.run("pdb_test(3)") b 函数名.行号: 打断点,b可以查询所有的断点. 复制代码 代码如下: (Pdb) b pdb_testBreakpoint 1 at c:\users\plpcc\desktop\pdbtest.py:3(Pdb) bNum Type        

  • Python中使用PDB库调试程序

    Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 复制代码 代码如下: python -m pdb myscript.py 2. 在Python交互环境中启用调试 复制代码 代码如下: >>> import pdb >>> import mymodule >>

  • 总结用Pdb库调试Python的方式及常用的命令

    用Pdb调试有多种方式 使用 Pdb调试 Python的程序的方式主要是下面的三种!下面逐一介绍 命令行加-m参数 命令行启动目标程序,加上-m参数,这样调用 testPdb.py的话断点就是程序执行的第一行之前 本文接下来重点讲到的实例展示就是使用这种方式进行调试的! python -m pdb testPdb.py 在python交互环境调试 >>> import pdb >>> import testPdb >>> pdb.run('testPd

  • python的pdb调试命令的命令整理及实例

    python的pdb调试命令的命令整理及实例 一.命令整理 pdb调试命令 完整命令 简写命令 描述 args a 打印当前函数的参数 break b 设置断点 clear cl 清除断点 condition 无 设置条件断点 continue c或者cont 继续运行,知道遇到断点或者脚本结束 disable 无 禁用断点 enable 无 启用断点 help h 查看pdb帮助 ignore 无 忽略断点 jump j 跳转到指定行数运行 list l 列出脚本清单 next n 执行下条语

  • Python使用pdb调试代码的技巧

    什么是pdb 不知道大家在用Python写代码出现报错时是怎样调试的,从报错提示定位回去一步一步check每一行?如果没有IDE或者命令行写代码时又该怎样快速调试?这时如果使用pdb进行调试将会异常方便. Pdb就是Python debugger,是python自带的调试器.通过 pdb 我们可以交互式的查看运行过程中变量的值.设置断点.逐行执行代码.查看代码的调用栈等等.并且如果环境没有 GUI 的话,那么 pdb 能够助你更快速的调试代码. 首先我们准备一段有问题的代码用于示例 def te

  • IOS Xcode调试常用命令和断点整理

    IOS Xcode调试常用命令和断点 Xcode 中的调试技巧与我们的日常开发息息相关,而这些调试技巧在我们解决Bug时,常常有事半功倍的作用,经常会用到的有各种断点 和 命令.而这些调试技巧也经常会在面试中问到,所以不知道的就来看看吧. 调试命令 在上图中,右侧绿色区域就是Log 输出区,在 Log 输出区可以使用一些命令,来辅助调试. 那有哪些调试命令呢? 想要看所有的调试命令,可以在上图的右侧区域输入help,就会列出所有的调试命令. 本文就介绍几个使用频率比较高的,其他就查看后,自行了解

  • python pdb调试器及使用方法

    目录 pdb 使用方法 1. 常用命令 a. 断点设置 b. 运行 c. 查看 d. 其他 2. 使用方法一 3. 使用方法二 pdb 使用方法 1. 常用命令 a. 断点设置 b(reak) [([filename:]lineno | function) [, condition]] 如果带有 lineno 参数,则在当前文件相应行处设置一个断点.如果带有 function 参数,则在该函数的第一条可执行语句处设置一个断点.行号可以加上文件名和冒号作为前缀,以在另一个文件(可能是尚未加载的文件

  • cmd命令行大全 dos命令 cmd命令整理

    CMD命令 net use ipipc$ " " /user:" " 建立IPC空链接 net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: ipc$ 登陆后映射对方C:到本地为H: net use ipipc$ /del 删除IPC链

  • 使用Python编写类UNIX系统的命令行工具的教程

    引言 您是否能编写命令行工具?也许您可以,但您能编写出真正好用的命令行工具吗?本文讨论使用 Python 来创建一个强健的命令行工具,并带有内置的帮助菜单.错误处理和选项处理.由于一些奇怪的原因,很多人并不了解 Python? 的标准库具有制作功能极其强大的 *NIX 命令行工具所需的全部工具. 可以这样说,Python 是制作 *NIX 命令行工具的最佳语言,因为它依照"batteries-included"的哲学方式工作,并且强调提供可读性高的代码.但仅作为提醒,当您发现使用 Py

  • python访问抓取网页常用命令总结

    python访问抓取网页常用命令 简单的抓取网页: import urllib.request url="http://google.cn/" response=urllib.request.urlopen(url) #返回文件对象 page=response.read() 直接将URL保存为本地文件: import urllib.request url="http://google.cn/" response=urllib.request.urlopen(url)

  • Python实现Linux中的du命令

    实现代码如下: 说明:现在代码已实现du命令的 -s 统计功能,统计与系统du命令稍有差别,比如用ls -ld /root结果为4096,而du计算出来是1040,用当前python计算出来也是4096.另外暂时还没有实现类似于自动根据大小显示为人性化的单位,后续补上 #!/usr/bin/python #*-*coding:utf8*-* import sys import os from optparse import OptionParser #使用选项帮助信息可以使用中文 reload(

随机推荐