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

时间:2010-08-17 09:17:06

标签: perl debugging stack-trace stackframe

我正在尝试使用perl -d ...调试脚本。在我打破我想要的地方之后,我想从更高的帧打印出当前的环境和环境。

我通过T看到了堆栈。现在,如果我尝试V,我会得到所有内容的列表,这几乎没用,因为它包含SO_BROADCAST常量等内容。如何过滤掉这些内容并仅获取本地内容?

如何为更高的帧做同样的事情?

另外,如何在更高堆栈框架的行周围打印代码? v / l仅执行当前版本。

2 个答案:

答案 0 :(得分:1)

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

当然,只要“只获得本地人”就是你的意思。

答案 1 :(得分:1)

您还可以使用PadWalker模块为您提供给定范围内的词汇列表。 peek_mypeek_our函数在相对调用帧(0 - 当前帧,1 - 调用帧,...)的范围内返回变量的hashref。