linux下python调试
来源:互联网 发布:王牌特工特工学院淘宝 编辑:程序博客网 时间:2024/06/05 16:31
之前一直在window下写Python脚本,习惯用eclipse调试编辑,突然换到在linux环境下,有点不适应。。。
python有自带的pdb库,可以实现简单的调试功能,基本命令与gdb类似,不过功能不会有gdb那么强大,pdb主要支持多断点设置(可条件设置),代码级单步调试,查看堆栈信息,代码查看,post-mortem调试,
详细信息可以查看: http://docs.python.org/2/library/pdb.html
用pdb调试有多种方式可选:
1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前
python -m pdb myscript.py
2. 在Python交互环境中启用调试
>>> import pdb
>>> import mymodule
>>> pdb.run(‘mymodule.test()’)
3. 比较常用的,就是在程序中间插入一段程序,相对于在一般IDE里面打上断点然后启动debug,
正常运行脚本后,到了pdb.set_trace()那就会定下来,就可以看到调试的提示符(Pdb)了
一些常用指令:
h(elp) [comman] #打印可用指令及帮助信息
r(eturn) #运行代码直到下一个断点或当前函数返回
b(reak) [[filename:]lineno | function[, condition]] #指定文件某行或函数体来设置断点
l(ist) [first[, last]] #查看指定代码段
n(ext) #执行下一行
s(tep) #执行下一行,若为函数则进入函数体
p #打印某个变量
a(rgs) #打印当前函数的参数
w(here) #打印堆栈信息
d(own) #移至下层堆栈
u(p) #移至上层堆栈
j(ump) #跳转到指定行
continue / c #继续执行
disable [bpnumber [bpnumber]] #失效断点
enable[bpnumber [bpnumber]] #启用断点
cl(ear) [filename:lineno | bpnumber [bpnumber]] #删除断点
q(uit)/exit #中止调试并退出
断点相关命令:
设置断点: (Pdb) b 8 #断点设置该文件的第8行(b即break的首字母)
显示所有断点:(Pdb) b #b命令,没有参数,显示所有断点
删除断点:(Pdb) cl 2 #删除第2个断点 (clear的首字母)
Step Over:(Pdb) n #单步执行,next的首字母
Step Into:(Pdb) s #step的首字母
Setp Return:(Pdb) r #return的首字母
Resume:(Pdb) c #continue的首字母
Run to Line:(Pdb) j 10 #运行到地10行,jump的首字母
(Pdb) p param #查看当前param变量值
(Pdb) l #查看运行到某处代码
(Pdb) a #查看全部栈内变量
(Pdb) h #帮助,help的首字母
(Pdb) q #退出,quit的首字母
- linux下调试python
- Linux下调试python
- Linux下python调试
- linux下python调试
- linux下python调试
- Linux下Python基础调试
- Python在Linux下调试
- linux下调试python程序
- linux下python的调试
- Linux下的Python调试
- linux下调试python程序
- Linux下Python基础调试
- linux下python基础调试
- Python linux 下的python调试
- linux下用gdb调试python程序
- Linux下使用命令行调试Python程序
- python在linux下代码调试pdb
- Python 调试工具 PDB(Linux 环境下调试)
- An internal error occurred during: "Building workspace". Java heap space
- yii 备份还原数据库
- P-残缺的棋盘
- synchronized和volatile理解
- 动态规划(一)
- linux下python调试
- 【单调队列】51nod 1275 连续子段的差异
- 高斯消元求方案数-HDU3364
- [版本控制]如何在GitHub上下载自己喜欢的开源代码并提交修改
- MySql 对性能产生影响的条件
- 构造方法
- Intellij idea破解办法
- 算法(2.5 应用)
- SSM整合,spring-mybatis配置,service,controller配置