I just installed the Perl EPIC plugin for Eclipse 3.7. The debugger itself is working fine and I can step through my code. However I am unable to see any variables. Eclipse is reporting this error in the Error Log:
An error occurred while parsing debugger variables; contents of the Variables view may be inaccurate. Failure caused by string: {NS00000003$^AS00000002''NS00000003$^DS000000010NS00000003$^ES00000043'The system could not find the environment option that was entered'NS00000003$^FS000000012NS00000003$^HS00000003256NS00000003$^LS00000003''NS00000003$^OS00000009'MSWin32'NS00000003$^PS00000003831NS00000010$^RE_TRIE_MAXBUFS0000000565536NS00000003$^SS000000011NS00000007$^TAINTS000000010NS00000009$^UNICODES000000010NS00000003$^VS00000007v5.10.0
There's a whole lot more which is just a bit much to be posting here so I've posted it over on PasteBin here:
My perl script is pretty basic stuff:
$x = "hello world";
print "$x";
I'm running:
I've made sure PadWalker is installed and working properly.
I also checked to make sure this wasn't an issue and it isn't (Cwd.pm
is fixed).
What could be wrong?
The answer appears to lie in the module documentation for PadWalker which states, "PadWalker is a module which allows you to inspect (and even change!) lexical variables in any subroutine which called you. It will only show those variables which are in scope at the point of the call."
Moreover, the PERL-EPIC documentation for Eclipse indicates that it relies on PadWalker to provide a debug capability. Therefore the ability to inspect variables in the Eclipse debugger using that specific plugin depends on explicitly declaring variables. The key point is that the use of the my keyword is what declares a variable with lexical scope.
You can see in the image here that the variables show up when declared.