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

wf82jlnq  于 2022-11-15  发布在  Perl
关注(0)|答案(1)|浏览(155)

这是我的系统配置。

Perl史诗0.7.8
草莓Perl 5.32.1 64位。
PadWalker 2.5已安装草莓珍珠

**以下是我已经阅读过的内容。**www.epic-ide.org/faq.php#debug

在我的例子中,消息“perl5db.pl没有返回一个真值。”没有显示在控制台上。而且,在常见问题中提到的bug报告已经解决,所以我认为事情应该在最新的windows版本的Perl上工作了。而且,这个问题似乎与win32特定的子程序有关,它不存在于我的Perl安装中,因为它是一个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);

[

更新

如果我显式声明变量,那么它们会显示在调试器中。在其他线程中,我注意到asker也没有使用my关键字进行声明。这是一个机会,有人可以回答是否这是PadWalker的工作方式。它的文档提到它工作在作用域中的词法变量上。我'我是Perl编程的新手,学习Perl编程是因为我必须学习维护脚本,所以我不确定我对文档的解释是否正确。但是,我认为这就是答案,变量必须声明为每个变量都有一个作用域。请给出建议。

rt4zxlrg

rt4zxlrg1#

答案似乎在PadWalker的模块文档中,该文档指出:“PadWalker是一个模块,它允许您检查(甚至更改!)调用您的任何子例程中的词法变量。它只会显示那些在调用点处于作用域中的变量。”关键点在于,使用my关键字声明变量会导致变量被声明为具有作用域。
此外,Eclipse的PERL-EPIC文档指出,它依赖于PadWalker来提供调试功能。因此,使用特定插件检查Eclipse调试器中的变量的能力取决于显式声明变量。
在这里的图像中,您可以看到变量在声明时显示。

相关问题