为什么 perl 变量没有显示在带有 perl EPIC 的 eclipse 调试器中?

Why aren't perl variables showing in the eclipse debugger with perl EPIC?

这是我的系统配置。

Perl-Epic 0.7.8

草莓 Perl 5.32.1 64 位。

PadWalker 2.5 安装了 Strawberry perl

这是我已经读过的内容。 http://www.epic-ide.org/faq.php#debug

就我而言,消息“perl5db.pl 没有 return 真实值。”不显示在控制台中。该常见问题解答中提到的错误报告也已解决,因此我认为现在应该可以在最新的 windows 版本的 Perl 上运行了。此外,该问题似乎与我的 perl 安装中不存在的 win32 特定子例程有关,因为它是 win64 安装。

https://sourceforge.net/p/e-p-i-c/bugs/711/ 这可能是相关的,但不确定。我的程序只涉及两个变量。

Unable to view locals in Eclipse + EPIC

我确实尝试了 EPIC 的最新稳定版和测试版。两者产生相同的结果。

这里是一个简单的测试程序。

#!/usr/bin/perl
$a = 1;   
$b=2;     
print($a+$b);

[

更新

如果我显式声明变量,它们就会显示在调试器中。在其他线程之一中,我注意到提问者也没有声明使用 my 关键字。这是一个机会,可以让某人确认 PadWalker 是否是这样工作的。它的文档提到它适用于范围内的词法变量。由于我必须学习维护脚本,我是 Perl 编程的新手并学习它,所以我不确定我对文档的解释是否正确。但是,我认为这就是必须声明变量以便每个变量都有一个范围的答案。请指教

答案似乎在 PadWalker 的模块文档中,其中指出,“PadWalker 是一个允许您检查(甚至更改!)任何调用您的子例程中的词法变量的模块。它将只显示调用时范围内的那些变量。" 关键是使用 my 关键字声明变量是导致变量在范围内声明的原因。

此外,PERL-EPIC Eclipse 文档表明它依赖于 PadWalker 来提供调试功能。因此,使用该特定插件在 Eclipse 调试器中检查变量的能力取决于显式声明变量。

您可以在此处的图像中看到变量在声明时显示。