perl:debug方法

来源:互联网 发布:域名对应多个ip 编辑:程序博客网 时间:2024/04/29 04:23

  • 推荐perl debug正规方法
  • 利用打印变量值的方法
  • ptkdb图形界面debug
  • elipse图形界面debug

关键时刻,正确使用perl debug,可以快速准确的找到bug原因。

推荐:perl debug正规方法

perl -d xxx.pl xxx.parameter
对perl程序进行debug

基础点:
1. h 帮助
2. n 下一步next,跳过sub子函数;
3. s 单步调试,可以进入sub子函数;r 跳出子函数调试;
4. p 打印表达式的结果,也可以显示变量的值,比如p $aaa;
5. w 监视表达式。至今没搞清楚怎么监视所有变量。这个是唯一不爽的地方。
6. x 显示变量结果;比p支持的数据类型更多。
7. V 支持正则表达式方法匹配变量。【个人认为,比p和x还要好用】
8. c 6 : continue到6行
9. b 行号;断点设置。B 行号;断点去除。L;查看断点。
10. q 退出。

利用emacs m-x perldb,界面更友好。

利用打印变量值的方法

Smart::Comments

Smart::Comments是另外一个模块,以注释的方式调试和跟踪代码。但是,Smart::Comments不是perl默认自带的模块,需要下载使用,下载地址:http://search.cpan.org/~neilb/Smart-Comments-1.06/lib/Smart/Comments.pm。
ps:perl模块可以不安装,只需要增加指明库的路径即可。

#!/usr/bin/perl use strict; use lib './Smart-Comments-1.06/lib' ; #网上下载后,没有安装到perl目录里,所以需要增加库的路径。use Smart::Comments; my $aa; # 在这里进行变量的赋值$aa = 1;### $aa

在执行上述程序的时候,会有如下输出:

### $aa: 1

ptkdb图形界面debug

ptkdb是perl的模块。
这种方法,只是增加了一个图形界面,没多大实际意义。没增加什么特别有用的功能。

elipse图形界面debug

感觉最关键的是实时监视所有变量。

参考文档:
Perl篇:常用调试命令 - royen - 博客园
http://www.cnblogs.com/royenhome/archive/2010/09/09/1822239.html
Perl脚本的调试方法 - 博客频道 - CSDN.NET
http://blog.csdn.net/pendle/article/details/5780842
功能丰富的 Perl:轻松调试 Perl
http://www.ibm.com/developerworks/cn/linux/sdk/perl/culture-4/

0 0
原创粉丝点击