Perl 在当前帧和更高帧中列出变量

Perl 在当前帧和更高帧中列出变量,perl,debugging,stack-trace,stack-frame,Perl,Debugging,Stack Trace,Stack Frame,我正在尝试使用perl-d…调试脚本。在我想在哪里中断后,我想打印出当前环境和较高帧中的环境 我通过T看到堆栈。现在,如果我尝试V,我会得到一个所有内容的列表,这几乎是无用的,因为它包括SO\u BROADCAST常量等内容。我如何过滤掉这些内容并仅获取本地内容 如何对较高的帧执行相同的操作 另外,如何在较高堆栈帧的行周围打印代码v/l只执行当前一个。您是否尝试过y[级别],它显示当前或更高级别(由级别指定)的词法(my)变量 当然,前提是这就是“仅获取本地词汇”的意思。您也可以使用该模块为您提

我正在尝试使用
perl-d…
调试脚本。在我想在哪里中断后,我想打印出当前环境和较高帧中的环境

我通过
T
看到堆栈。现在,如果我尝试
V
,我会得到一个所有内容的列表,这几乎是无用的,因为它包括
SO\u BROADCAST
常量等内容。我如何过滤掉这些内容并仅获取本地内容

如何对较高的帧执行相同的操作


另外,如何在较高堆栈帧的行周围打印代码
v
/
l
只执行当前一个。

您是否尝试过
y[级别]
,它显示当前或更高级别(由
级别指定)的词法(my)变量


当然,前提是这就是“仅获取本地词汇”的意思。

您也可以使用该模块为您提供给定范围内的词汇列表。
peek_my
peek_我们的
函数返回相对调用帧(0-当前帧,1-调用帧,…)范围内变量的hashref

但是
级别是什么?它与堆栈帧编号相同吗?它们以哪种方式编号?与caller()接口类似,0=当前帧,1=上面的帧,等等。根据Eric Strom的回答,当我尝试“y”命令时,我被告知必须安装PadWalker。