perl 调试

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

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

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

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

如何启动调试

$ perl -d file

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

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

重要的调试的命令

命令功能
h帮助
n下一步,不可进入子程序
s单步,可进入子程序
rs进入子程序之后,按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时,停止下来。
    原文作者:沧浪之水v
    原文地址: https://www.jianshu.com/p/bfd5135f6bde
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞