python自带的调试工具库:pdb

# -*- coding:utf-8 -*-

def func(num):
s = num * 10 return s if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
print 'debug ending…'
num = 100
s = func(num)
print s

在python文件里不引用pdb库,能够在运行python文件的时候,加上參数:

python -m pdb demo.py

来到pdb调试交互界面,debug模式将会停止在的第一行程序代码行



能够运行例如以下命令,进行对应的操作:

b(or break):设置断点。设置函数:b demo.func;设置行数:b demo:14(行数)

n(or next):运行下一行:Step over,跳过

c(or continue):运行下一个断点,没有断点则到程序结束:Step filter

s(or step):进入函数,Step into,单步跳入

r(or return):跳出函数,Step return

l(or list):查看当前代码段

q(or quit):退出当前debug

p(or print):打印变量值

h(or help):查看帮助

cl(clear):清除全部节点

disable [bpnumber[bpnumber]]:将第num个断点失效。enable。失效第10个断点

enable [bpnumber[bpnumber]]:启用第num个断点,enable 10。启用第10个断点

w(where):打印堆栈信息

a(args):打印当前函数參数信息

当然我们也能够使用pdb库的函数,来实现对py的debug:

比方:我们能够使用pdb函数:set_trace()

def func(num):
s = num * 10 return s if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
pdb.set_trace()
print 'debug ending…'
num = 100
s = func(num)
print s

运行程序:python pdb_demo.py

此时意味着给程序设置断点行。将会自己主动执行至print ‘py ending...’停住,让开发人员继续触发接下来操作。这个操作是py其他参考py什么时候,只需设置一个断点优势。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Linux通过使用pdb简单调试python计划的更多相关文章

  1. 使用pdb模块调试Python

    在Python中,我们需要debug时,有三种方式: 加log语句.最简单的方式是添加print()语句来输出我们想要获知的状态或者变量,好处是简单容易操作,坏处是debug完了之后,还需要将prin ...

  2. python使用 pdb 进行调试--- python -m pdb xxx.py 即可 和gdb使用一样

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

  3. 用PDB库调试Python程序

    Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用my ...

  4. [转] 用PDB库调试Python程序

    Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用my ...

  5. 最简单方法远程调试Python多进程子程序

    Python 2.6新增的multiprocessing,即多进程,给子进程代码调试有点困难,比如python自带的pdb如果直接在子进程代码里面启动会抛出一堆异常,原因是子进程的stdin/out/ ...

  6. Linux 下如何调试 Python?

    一般开发者都是在 IDE 中进行程序的调试,当然,有 IDE 的话,当然首选 IDE 进行调试. 但是,有时我们的业务场景,限制只能在 Linux 命令行模式进行调试. 这时该怎么办呢? 今天,就给大 ...

  7. 【转载】PDB命令行调试Python代码

    转载自这里. (博主按:PDB调试python代码和用GDB调试c++代码很类似) 你有多少次陷入不得不更改别人代码的境地?如果你是一个开发团队的一员,那么你遇到上述境地的次数比你想要的还要多.然而, ...

  8. gdb可以调试python的pdb么

    1.如题: gdb可以调试python的pdb么? 答案:可以,实验如下. 2.实验: 生成一个a.py代码文件,代码如下: import pdb a = 1 print "111" ...

  9. PDB调试Python程序

    pdb是python内置的调试工具, 它可以在终端中调试Python程序, 这允许pdb在很多无法安装IDE的服务器上使用. 虽然远程调试使用广泛, 但在必要的时候(比如难以在本地搭建运行环境)pdb ...

随机推荐

  1. unity3d游戏开发学习之使用3dmax创建导弹模型

    在着手研究Unity3D的游戏开发时,3D模型能够考虑从unity的assets store去获取,也能够从网上搜索下载,同一时候咱们也能够尝试下自己动手去做一些简单的模型. 这里就依据unity3d ...

  2. 关于Delphi XE2的FMX的一点点研究之消息篇

    Delphi XE2出来了一阵子了,里面比较抢眼的东西,除了VCLStyle这个换肤的东西之外,另外最让人眼亮的应该是FMX这个东西了.万一的博客上都连载了一票的关于FMX的使用心得了.我还是没咋去关 ...

  3. form表单多值提交

    $.ajax({ cache: true, type: "POST", url:ajaxCallUrl, data:$('#yourformid').serialize(),// ...

  4. Swift - 滑块(UISlider)的用法

    1,滑块的创建 1 2 3 4 5 6 var slider=UISlider(frame:CGRectMake(0,0,300,50)) slider.center=self.view.center ...

  5. c#调用语音功能

    转自 http://www.cnblogs.com/Hans2Rose/p/WeatherSpeaker.html .Net里面自带了一个语音类库:System.Speech,调用系统的语音功能,就能 ...

  6. 如何获取ul 中li选中的值点击button按钮跳转链接

    <ul id="parent"> <li></li> <li></li> <li></li> & ...

  7. Java编码浅析(注意区分三个概念)(转)

    编码: (1)外部资源的字符集-----没有读入jvm中的数据都是外部资源 (2)jvm中数据的字符集-----都是unicode (1)和(2)之间发生交互时,如果不指定编码,则使用JVM平台默认字 ...

  8. sqlplus连接登录数据库时,出现 ORA-28009错误(转)

    安装了oracle10g,打算用SQLPLUS 登录数据库进行操作.打开sqlplus后,可以看到要求输入用户名,口令和主机字符串.前面两个都知道,但是后一个却不明白,查了资料才知道是安装时的全局数据 ...

  9. POJ2421 & HDU1102 Constructing Roads(最小生成树)

    嘎唔!~又一次POJ过了HDU错了...不禁让我想起前两天的的Is it a tree?   orz..这次竟然错在HDU一定要是多组数据输入输出!(无力吐槽TT)..题目很简单,炒鸡水! 题意: 告 ...

  10. objective-c 中数据类型之六 数值类(NSValue)

    // NSValue能够将c类型转换为Objective-C对象,如NSRange,CGPoint.CGSize,CGRect,CGVector,UIEdgeInsets,UIOffset NSRan ...