加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl调试总结

发布时间:2020-12-15 20:59:42 所属栏目:大数据 来源:网络整理
导读:因为最近的工作都是修bug,在调试perl代码的过程中,经常都会用到'x','c','b','s','n','l'这些option。 猜想perldebug应该还有一些更为强大的option,于是上午抽空看了下perldebug的文档,结果收获还是比较丰富的。 ? 查看程序堆栈 T 首先要说的是'T'这个命令

因为最近的工作都是修bug,在调试perl代码的过程中,经常都会用到'x','c','b','s','n','l'这些option。

猜想perldebug应该还有一些更为强大的option,于是上午抽空看了下perldebug的文档,结果收获还是比较丰富的。

?

查看程序堆栈 T

首先要说的是'T'这个命令,使用该命令可以查看到程序目前的执行堆栈。如果程序走到了在一个函数里面,但是我想知道这个函数是在哪里被调用的,这种情况下就能'T'一下,据知道了。

?

程序执行到当前函数return的地方 r

'r'可以继续程序运行,一直到当前函数返回的地方。如果一个大函数内部有很多return的地方,我们想找到它返回的地方,不需要在每个地方都设置断点,直接使用'r就行了。

?

跟踪变量 w expr

和gdb一样,perldebug也有一个'w'用来跟踪一些变量,当被跟踪的变量值发生改变的时候,程序会停在哪里,并显示出其新老值。

?

列出所有的断点和跟踪变量 L

这个没啥好说的,就是把之前打了断点好跟踪的变量都列出来

?

在断点执行前,设置一个action a [line] command

该命令类似于'b',不同的地方是还可以在执行一个command,类似于:a 53 print "DB FOUND $foon",这样就能每次到53行的时候,把$foo的值打印出来。

?

重新调试 R

这个。。。就是重新调试一次的意思。。。并且保留了之前设置的breakpoint,action等信息。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读