阿里云
发表主题 回复主题
  • 2008阅读
  • 0回复

[干货分享]如何使用pdb工具来调试python脚本?

级别: 码农
发帖
128
云币
331
sTmY'5ry  
W.|r=   
zJxO\  
pdb是linux的python调试工具,它功能比较齐全,使用起来也很方便, 按一般运维工程师的技术发展来说,最早接触编程语言应该是shell, 所以大多是在shell的基础上开始学习Python的,如果是刚从shell脚本转到写python脚本的小伙伴可能会有点不太适应,比如说调试,大家都知道写脚本是有一个调试过程的除非你的脚本里只有一行, 那既然都有调试过程,那shell下调试就很方便,shell运行时我们可以直接 sh -x myscript.sh ,就可以看到整个脚本运行的过程,或者在某些关键地方加入echo ,打印出变量,调试方法简单直接, 所以在写Python脚本时我们继承了写shell脚本的调试习惯,我们会在程序中加入print 来调试关键变量,这也是现在大家通用的方法,但有时候就行不通,如果一个脚本写的很长,有涉及到某些逻辑在里面,用print就显得无力了,如果你不掌握调试方法,那完成一个稍微复杂的脚本是相当痛苦的,所以掌握调试工具是写出复杂程序的必备技能,那就引出了今天我们要说的pdb调试工具。 |mHxkd  
开始前我们先了解下pdb的常用命令: =&9x}4`;%  
1、step:单步调试,执行下一行代码,但是有函数调用会进入函数内部。 @ +iO0?f  
2、next:执行下一行代码,如果当前语句有函数调用,则不会进入函数体中 8D)I~0\  
3、break:设置程序断点,break 10 表示在第10行设置断点 1kDr;.m%  
4、continue:继续执行程序,直到下一个断点 f\/'Fy0  
5、list:显示第几行,例如:list 50 ,sk0){rW  
6、print:这个就是打印想看的参数 \NgBF  
7、quit:退出 |^&j'k+A  
我们拿一个例子看如果具体应用: $t1XoL  
比如我调试我之前的脚本:parser_nginx_log.py 76'vsg  
我用最简单的方式在终端开始运行: li`4&<WGC  
python -m pdb parser_nginx_log.py
X~#jx(0_  
JiXkW%  
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个