社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Perl和Python脚本轻量又实用的调试工具

处芯积律 • 1 年前 • 171 次点击  
前些天有个同事问起怎么调试那些带有历史包袱且“又臭又长”的脚本,启发我写这篇文章。

Perl和Python作为目前芯片开发流程中最为流行的脚本语言,本文将分别介绍它们轻量且实用的调试工具(Debugger),让你在调试脚本的时候不再抓瞎

本文使用的测试脚本功能是:在当前目录下的所有文件中,找出包含指定字符串的文件。


01 Perl Debugger



Perl测试脚本内容如下:

本节介绍的是Perl内置的调试器,通过在执行脚本的时候加-d选项来启动,非常方便。然后使用命令h可以打印调试帮助文档,命令很少,但足够用。

最常使用的命令是这么几个:设置断点b,打印断点L,打印源代码l,显示附近行v,连续执行至下一个断点c,单行执行s/n, 打印变量p,退出调试q。一回生二回熟,再不熟可以查看帮助文档。

除了本节介绍的Perl内建调试器,Perl还有其他调试功能,比如带有图形界面的调试工具等等,具体可以查看参考资料1。


02 Python Debugger



Python测试脚本内容如下:

本节要介绍的Python调试工具包括pdb和pudb,前者支持命令行调试,后者具备图形界面。

pdb是Python自带的但使用起来非常便捷的调试工具。启动的时候可以在执行脚本时带上参数-m pdb即可。之后就可以h 来打开相应的帮助文档。

最常使用的命令有:设置断点b,设置一次性断点tbreak,清除断点cl,显示源代码l/ll,连续执行至下一个断点c,执行到指定行j,单行执行s/n,打印变量p,查看函数参数a,退出调试q

此外,还有两个非常有用的调试命令:whatis 可以变量或者表达式的类型;interact 可以在继承当前上下文环境的基础上新开一个Python交互式解释器

下面简单介绍一下pudb这个有GUI的调试工具,基本功能跟pdb一样,可以理解为就是套了一个图形界面,启动界面如下:

使用pudb需要使用pip安装pudb:pip3 install pudb,然后在被调试代码中插入代码“from pudb import set_trace; set_trace();”。之后执行该脚本,就会自动启动调试界面。

通过Ctrl+p可以调出工具设置界面,可以进行包括主题在内基本设置。通过?键可以打开帮助页面,剩下的基本操作可以按照帮助页面的说明来进行。

更多使用技巧可以查看参考资料2和3。

参考资料
[1]https://debugger.perl.org/tools.html
[2]https://docs.python.org/3/library/pdb.htm
[3]https://documen.tician.de/pudb/



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166310