I am not entirely sure what you mean by stack and heap variables, as those terms make more sense with C programs that have explicitly allocated memory (malloc and free).
I am guessing that you want to be able to examine variables that are in scope in the current function, variables in scope in the functions that called the current function further up the call stack, and global and perl internal variables that are in scope everywhere.
I have used both EPIC and Devel::ptkdb and they will both allow you to examine variables further up the call stack. In each case you get a graphical representation of the stack, with the current function at the top, and if you click on other stack frames the dialog box of current variables in scope and their values, and the source code viewer both change.
EPIC will show you all local variables in scope by default, but you can chose to show global and perl internal ones as well if you like, though I rarely find it useful to do so. With ptkdb you have to specify the variables you are interested in, so you can specify any type of variable, but it will not show you a list of all in scope. This means less clutter, but you don't get a counitously updating view of variables as you step through a program, unless you setup those variables first.
Having said that, In most cases, I usually prefer to use the perl command line debugger, as it gives me more control, compared with the graphical alternatives, which feel to cumbersome. I have also found that the EPIC debugger crashes fairly often, so these days I mostly use EPIC as a perl editor but not a debugger.
I have not hand any success with the debugger within Padre, again it always crashes for me, so I tend to use Padre as an editor for quick jobs.
|