Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Cannot see variables in debugger.

Help
Dr Bop
2007-06-04
2013-05-20
  • Dr Bop
    Dr Bop
    2007-06-04

    Hi,

    I'm running:
    Eclipse 3.1.2
    Epic Source Plug-in 0.5.37
    Perl Debug Plug-in 0.5.27
    PadWalker 1.5
    Perl v5.8.7

    on Linux 2.6.15

    The debugger seems to be running OK, in that I can start and single step thru my program.  However I cannot see any variables in the debugger.

    All variables in the program are declared with "my".  I also added "use PadWalker;" in my program, for lack of a better idea.

    Any help grovelling appreciated.

    - Dr Bop (not a real doctor)

     
    • Jan Ploski
      Jan Ploski
      2007-06-04

      You don't have to "use PadWalker". I suggest that you upgrade to 0.6.6 first, as it generally contains an improved version of the debugger. If it still doesn't work, enable the debugger console and paste its output here (read previous postings about the debugger console to get an idea).

       
    • Dr Bop
      Dr Bop
      2007-06-06

      Hi,

      I upgraded as Jan suggested, I now have the newest versions, but still have debugger errors.

      I'm running:
      Eclipse 3.2.2
      Epic Source Plug-in 0.6.6
      Perl Debug Plug-in 0.6.6
      PadWalker 1.5
      Perl v5.8.7

      on Linux 2.6.15 

      Trying to run the debugger yields:

      "use" not allowed in expression at /home/cariello/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl
      line 5483, near "{ "

      syntax error at /home/cariello/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl
      line 5483, near "{ use epic_breakpoints"

      syntax error at /home/cariello/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl
      line 5507, near "}"

      Compilation failed in require.

      BEGIN failed--compilation aborted.

       
      • Jan Ploski
        Jan Ploski
        2007-06-06

        Can you post 20 lines above and below line 5483 from /home/cariello/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl?

         
      • Jan Ploski
        Jan Ploski
        2007-06-09

        This problem is fixed in 0.6.7 (just out).

         
    • mamue110
      mamue110
      2007-06-07

      Hi,
      i've got the same Problem. Variable inspection is also not working.

       
      • Jan Ploski
        Jan Ploski
        2007-06-07

        Same request as for drbop: post 20 lines above and below the line with "use epic_breakpoints" from /home/cariello/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl

         
    • Dr Bop
      Dr Bop
      2007-06-09

      Hey Jan,

      Here's the sub with the line which causes the issue.  Line 5483 is marked with =====>

      Thanks for any and all help,
      DrBop

      sub postponed {

          # If there's a break, process it.
          if ($ImmediateStop) {

              # Right, we've stopped. Turn it off.
              $ImmediateStop = 0;

              # Enter the command loop when DB::DB gets called.
              $signal = 1;
          }

          # If this is a subroutine, let postponed_sub() deal with it.
          return &postponed_sub unless ref \$_[0] eq 'GLOB';

          # Not a subroutine. Deal with the file.
          local *dbline = shift;
          my $filename = $dbline;
          $filename =~ s/^_<//;
          local $\ = '';
          $signal = 1, print $OUT "'$filename' loaded...\n"
            if $break_on_load{$filename};
          print_lineinfo( ' ' x $stack_depth, "Package $filename.\n" ) if $frame;

          # Do we have any breakpoints to put in this file?
      ====>    \{ use epic_breakpoints; my \$osingle = \$single; \$single = 0; \$single = epic_breakpoints::_postponed(\$filename, \$line) || \$osingle; }
      return unless $postponed_file{$filename};

          # Yes. Mark this file as having breakpoints.
          $had_breakpoints{$filename} |= 1;

          # "Cannot be done: unsufficient magic" - we can't just put the
          # breakpoints saved in %postponed_file into %dbline by assigning
          # the whole hash; we have to do it one item at a time for the
          # breakpoints to be set properly.
          #%dbline = %{$postponed_file{$filename}};

          # Set the breakpoints, one at a time.
          my $key;

          for $key ( keys %{ $postponed_file{$filename} } ) {

              # Stash the saved breakpoint into the current file's magic line array.
              $dbline{$key} = ${ $postponed_file{$filename} }{$key};
          }

          # This file's been compiled; discard the stored breakpoints.
          delete $postponed_file{$filename};

      } ## end sub postponed

       
      • Jan Ploski
        Jan Ploski
        2007-06-09

        The backslashes in line 5483 are all wrong (they are not present on my machine)... Which version of Java do you use (can be seen in Eclipse's Help/About Eclipse SDK/Configuration dialog)?

         
    • Dr Bop
      Dr Bop
      2007-06-10

      Sweet !!!   Everything A-OK.

      Thanks,
      Dr Bop (not a real doctor)

      BTW Jan, are you an EPIC developer ?

       
      • Jan Ploski
        Jan Ploski
        2007-06-10

        > BTW Jan, are you an EPIC developer ?

        Yes, if you click on my username you can find out.