用 ipdb 调试 Python 程序

==> 安装

  pip install ipdb

==> 使用

    ---> python -m ipdb xxx.py

  程序内部: 

from ipdb import set_trace
set_trace()

==> 常用命令

ENTER(重复上次命令)
c    (继续)
l    (查找当前位于哪里)
s    (进入子程序)
r    (运行直到子程序结束)
!    <python 命令>
h    (帮助)
a(rgs)     打印当前函数的参数
j(ump)     让程序跳转到指定的行数
l(ist)     可以列出当前将要运行的代码块
n(ext)     让程序运行下一行,如果当前语句有一个函数调用,用 n 是不会进入被调用的函数体中的
p(rint)    最有用的命令之一,打印某个变量
q(uit)     退出调试
r(eturn)   继续执行,直到函数体返回
s(tep)     跟 n 相似,但是如果当前有一个函数调用,那么 s 会进入被调用的函数体中

原文地址:http://blog.51cto.com/songqinglong/2092247

时间: 2024-10-10 04:35:14

用 ipdb 调试 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 -m

调试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

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

使用 ipdb 调试 Python

1.安装 pip install ipdb 2.使用 python -m ipdb xxx.py 程序内部: from ipdb import set_trace set_trace() 3.常用命令 ENTER(重复上次命令) c(继续) l(查找当前位于哪里) s(进入子程序) r(运行直到子程序结束) !<python 命令> h(帮助) a(rgs) 打印当前函数的参数 j(ump) 让程序跳转到指定的行数 l(ist) 可以列出当前将要运行的代码块 n(ext) 让程序运行下一行,如

用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

[转] python程序的调试方法

qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python def debug_demo(val): if val <= 1600 : print "level 1" print 0 elif val <= 3500 : print "level 2" print (val - 1600) * 0.05 elif val

Linux 下如何调试 Python?

一般开发者都是在?IDE?中进行程序的调试,当然,有?IDE?的话,当然首选?IDE?进行调试. 但是,有时我们的业务场景,限制只能在 Linux 命令行模式进行调试. 这时该怎么办呢? 今天,就给大家介绍一个 Linux 下调试 Python 程序的工具. pdb简介 pdb 调试器是 Python 标准库提供的,因此最为方便,不需要安装其他组件,直接 import 后就能使用. pdb 调试器提供了调试所需的大多数功能,如断点.单行步进.堆栈帧的检查等等. 常用命令 l # 查看运行到哪行代

GDB 获取python程序堆栈

在调试python程序时,经常需要从gdb attach上去,跟踪stack信息. 虽然DebuggingWithGdb[https://wiki.python.org/moin/DebuggingWithGdb]提供了不错的方法,但是某些情况下还是需要gdb原始操作的. typedef struct { PyObject_HEAD int co_argcount; /* #arguments, except *args */ int co_nlocals; /* #local variable