适用范围
1、当启动某些服务出现异常时,且报错比较模糊时。问题找不到头脑
调试脚本无疑是非常好的方式(cloudera 等)
2、python 环境单点运行调试自己pyhon
调试步骤
首先你选择运行的 py 或服务程序的入口py
python -m pdb test.py
(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助
(Pdb) h
说明下这几个关键 命令
断点设置
(Pdb)b 10 #断点设置在本py的第10行
或(Pdb)b test.py:20 #断点设置到 ots.py第20行
删除断点(Pdb)b #查看断点编号
(Pdb)cl 2 #删除第2个断点
运行
(Pdb)n #单步运行
(Pdb)s #细点运行 也就是会下到,方法(例子程序中的test()方法中执行)
(Pdb)c #跳到下个断点
查看
(Pdb)p param #查看当前 变量值
(Pdb)l #查看运行到某处代码
(Pdb)a #查看全部栈内变量
带参调试:
python -m pdb makePackage youtuberev_1.0_csky.ipk
常用命令说明:
l #查看运行到哪行代码
n #单步运行,跳过函数
s #单步运行,可进入函数
p 变量 #b值
b 行号 #断点设置到第几行
b #显示所有断点列表
cl 断点号 #删除某个断点
cl #删除所有断点
c #跳到下一个断点
r #return当前函数
exit #退出
更多的命令http://docs.python.org/library/pdb.html
例子程序
#-- coding: utf-8 --
import datetime
def test():
for i in range(1,10):
print("=====",i)
print(datetime.datetime.now().strftime(’%Y-%m-%d %H:%M:%S’))
return “success”
if name == ‘main’:
ret = test()
print "return is ",ret