perl 调试

其实相比于我们写程序,调试程序所花的时间远远比写程序花的时间长得多!现在我觉得是时候对perl调试进行总结了。

总的概括的来说:有三大调试的方法

  • 直接在原文中进行 print $var 来进行调试,查看各个变量是否符合预期的结果。
  • 利用perl 自带的调试器进行调试.
  • 在windos中有一个可视化的调试模块 Tk

下面我介绍一下如何用perl自带的调试器进行调试:

如何启动调试

$ perl -d file

这里可以利用这个功能进入perl的交互界面:

$ perl -de 1 # 进入像python 和 R一样的交互界面

重要的调试的命令

命令 功能
h 帮助
n 下一步,不可进入子程序
s 单步,可进入子程序
r s进入子程序之后,按r可退出
p 等同于print
x 输出你要查看的变量的值
V 查看一个Package中的所有变量
l 列出将要执行的代码,
l x+y 从x 行开始列出y+1行源代码
lx-y 列出从x到y行的源代码
- 列出当前代码前的源代码
c x 告诉调试器运行到第x行后停下来
b x or subroutine 在指定行或者子程序处设置断点
d 删除断点
D 删除所有断点
L 列出所有断点
w 设置观察点

使用技巧:

  • 如果你忘了上面这些命令的含义,你可以用h来查看
  • 查看代码的运行情况s,n,r检查变量p,x,V检查源程序l,-,w使用断点c,b,L,观察变量的情况用w
  • 用 x 来检查hash 时用 x \ %hash, 这样得到的结果比之间检查更加友好
  • 在有些情况下,你可能不希望在某些断点上中断,在而只在一些条件为真的情况下中断。你可以在b 后面加第三个参数,例如:b 16/Hey/ 这个意思就是说当16行运行到 其中有一个字符串是Hey时,停止下来。

你可能感兴趣的:(perl 调试)