我试图用perl -d ...
来调试脚本。在我想要打破的地方之后,我想从较高的帧中打印出当前的环境和环境。在当前帧和更高帧中列出变量
我看到堆栈通过T
。现在,如果我尝试V
,我会得到一个一切的列表,这几乎是没用的,因为它包含诸如SO_BROADCAST
常量等东西。我如何过滤掉并获取本地列表?
我该怎么做更高的帧?
此外,我如何打印围绕更高堆栈框架的代码? v
/l
只做目前的一个。
我试图用perl -d ...
来调试脚本。在我想要打破的地方之后,我想从较高的帧中打印出当前的环境和环境。在当前帧和更高帧中列出变量
我看到堆栈通过T
。现在,如果我尝试V
,我会得到一个一切的列表,这几乎是没用的,因为它包含诸如SO_BROADCAST
常量等东西。我如何过滤掉并获取本地列表?
我该怎么做更高的帧?
此外,我如何打印围绕更高堆栈框架的代码? v
/l
只做目前的一个。
您是否试过y [level]
,它显示当前或更高(由level
指定)的词法(my)变量?
前提是这就是“只获取本地人”的意思,当然。
您还可以使用PadWalker模块为您提供给定范围的词汇列表。 peek_my
和peek_our
函数在相对调用帧(0-当前帧,1-调用帧,...)返回范围内变量的hashref。
但是什么是“level”?它是否与堆栈帧号相同?他们编号的方式是? – viraptor 2010-08-17 11:09:24
通过类似于调用者()接口,0 =当前帧,1 =上面的那个,等等。 – Grrrr 2010-08-17 11:45:12
当我尝试“y”命令时,我被告知我必须安装PadWalker,根据Eric Strom的答案。 – 2014-01-10 02:47:55