Perl PadWalker不显示用"我们的"声明的变量

Jim*_*mbo 3 eclipse perl epic

在Eclipse和PadWalker中遇到Perl调试器的一些问题.以前只用于简单的单文件脚本.使用"my"声明的变量.它们在调试器"变量"窗口中看起来很好.

现在我正在使用其他人更复杂的脚本,我没有看到使用"我们的"声明变量.为了调查,我把它归结为一个非常简单的例子

junk.pl:

use strict;
use warnings;

require 'junk2.pl';

package Junk;
my $simon = "SOMETHING";
print "JUNK  " . $Junk2::james . "\n";
print "JUNK  " . $simon . "\n";
Run Code Online (Sandbox Code Playgroud)

junk2.pl:

package Junk2;
our $james;
$james = "FOO";

1;
Run Code Online (Sandbox Code Playgroud)

单步执行代码,可my $simon调试窗口中的可修改显示很好但变量our $james不显示.调试器工作正常:程序运行,输出窗口显示正确的输出...它只是无法显示的变量窗口$james.

下面的屏幕截图显示了问题.正如您所看到的$james,Junk2包中的变量打印正常,但不会出现在变量显示中.

没有包变量的IDE调试器视图

一直在寻找一个解决方案,但找不到任何匹配好的东西...任何想法?

编辑:如果我使用Perl调试器,我发现我可以"看到"包变量: cmd行调试器的视图.

有没有办法在IDE中以友好的方式获得相同的输出,如padwalker节目?

谢谢你们到目前为止回答的人:)

小智 5

您可以在变量视图菜单下切换查看本地和全局变量.使用我们声明的变量超出了局部范围,因此在选择全局变量选项时可见.(我正在运行eclipse 4.2.1)

要访问变量视图菜单,请单击变量窗格右上角的小向下箭头.