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. DataGridView ——管理员对用户的那点操作

    记得第一次做机房收费系统的时候,就在加入删除用户这出现了点小问题,由于一直都是一个容不得一点瑕疵的人.所以对查询用户的时候查询一次就会多一些空行我非常是不能容忍.看似非常小的问题,我却花了非常长的时间 ...

  2. 华为OJ培训主题 比赛统计

    题目例如以下: 比赛情况统计 有一个游戏平台,各个參赛队伍(以唯一的TeamID来标识)之间进行单循环的对抗赛,两个队伍之间仅仅举行一场比赛,比赛以得分的多少定胜负.须要完毕一个统计赛况的程序,可以随 ...

  3. Find the minimum线段树成段更新

    问题 G: Find the minimum 时间限制: 2 Sec   内存限制: 128 MB 提交: 83   解决: 20 [ 提交][ 状态][ 讨论版] 题目描述 Given an int ...

  4. ASP.NET - 分页

    效果: SQL-存储过程(Paging): ROW_NUMBER() over(order by MessageDateTime desc)  其中的 MessageDateTime desc 代表的 ...

  5. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  6. 理解 Thread.Sleep 函数

    我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用 ...

  7. CF 327D - Block Tower 数学题 DFS 初看很难,想通了就感觉很简单

    D. Block Tower time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  8. HDU 1242——Rescue(优先队列)

    题意: 一个天使a被关在迷宫里,她的很多小伙伴r打算去救她.求小伙伴就到她须要的最小时间.在迷宫里有守卫.打败守卫须要一个单位时间.假设碰到守卫必须要杀死他 思路: 天使仅仅有一个,她的小伙伴有非常多 ...

  9. QUIC简单介绍

    QUIC,即Quick UDP Internet Connection,类似于SPDY,相同也是由Google公司在现有已存协议之上进行了扩展设计,而旨在降低网络延迟.之前我曾介绍过SPDY的相关信息 ...

  10. 14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置

    14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置 locking read, 一个UPDATE,或 ...