Linux下使用pdb简单调试python程序

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程序,布布扣,bubuko.com

时间: 2024-12-14 02:08:54

Linux下使用pdb简单调试python程序的相关文章

Linux通过使用pdb简单调试python计划

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 -

linux下如何用GDB调试c++程序

原文地址:http://blog.csdn.net/wfdtxz/article/details/7368357 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 启动你的程序,可以按照你的自定义的要求随心所欲的运行

用PDB库调试Python程序

用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前python -m pdb myscript.py 2 在程序中间插入一段程序,相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的 import pdbpdb.set_trace()b = 2c = a + bprint (c)然后正常运行脚本,到了pdb.set_trace()那就会定下来,就可以看到调试的提示符(Pdb)了 常用的

[转] 用PDB库调试Python程序

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

ubuntu下命令行调试Python程序

Python提供类似于C++ gdb的调试工具pdb,我们可以在Linux下使用pdb在命令行下进行Python程序的调试. 官方参考网站: Python2: https://docs.python.org/2/library/pdb.html Python3: https://docs.python.org/3/library/pdb.html 一般地,我们可以使用如下的方式进入调试(比如我们要调试的源文件为hello.py): 1. 在命令行启动目标程序,加上-m参数. python -m

Linux下adb驱动问题Linux下使用手机USB调试模式连接ADB进行Android程序的调试

Linux 下adb 驱动问题 Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的直观. 具体步骤首先确认手机连接上电脑,lsusb查看下设备记录. [email protected]:~$ lsusb Bus 007 Device 009: ID 18d1:4e12 Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d

[转] linux下的c/c++调试器gdb

http://www.cnblogs.com/xd502djj/archive/2012/08/30/2663960.html linux下的c/c++调试器gdb gdbLinux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能: * 设置断点:* 监视程序变量的值:* 程序的单步执行:* 修改变量的值.       gdb支持下列语言C, C+

调试python 程序的几种方法总结

程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug. 第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看: ? 1 2 3 4 5 6 7 8 9 10 # err.py def foo(s):   n = int(s)   print '>>> n = %d' % n

在linux下安装eclipse以及运行c++程序的安装步骤

1.       下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击JRE下载(如下图) 选择"Aceept License Argeement" (如上图) 点击"jre-7u21-linux-i586.bi