IOException in debugger?

Help
2008-05-29
2013-05-20
  • GreggJensen

    GreggJensen - 2008-05-29

    I am trying to debug one of my scripts and I am not getting very far.  Any help would be appreciated.

    This is the first sample that throws up an IOException error:

    #!/usr/bin/perl

    use Getopt::Std;

    my $opts = {};
    #getopts('d:e:a:u:p:qgACMQLGUvh', $opts);
    getopts('d', $opts);
    exit;

    When I step through with the debugger, it bombs at the getopts('d', $opts);  Running this through the command line debugger works just fine.  Within eclipse using EPIC, I get the following output in a dialog popup:

    An IOException occurred while executing debugger command
    could not match re.IP_POS in {syntax error at (eval 19)[/home/gjensen/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628] line 10, at EOF
    Missing right curly or square bracket at (eval 19)[/home/gjensen/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628] line 12, at end of line

      DB<10> Unmatched right curly bracket at (eval 20)[/home/gjensen/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628] line 9, at end of line
    syntax error at (eval 20)[/home/gjensen/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628] line 9, near ";
    }"}

    Thoughts?

     
    • GreggJensen

      GreggJensen - 2008-05-29

      Sorry, I am using eclipse 3.3.2 on Linux (Ubuntu Hardy) with EPIC version 0.6.24

       
    • Jan Ploski

      Jan Ploski - 2008-05-29

      Search the forum for "Unmatched right curly bracket".

       
    • GreggJensen

      GreggJensen - 2008-05-30

      Thanks for the reply, but it looks like that section of code (in both the system wide perl5db.pl as well as the perl5db.pl mentioned in the error message) that is referenced by the patch in that other thread has already been changed.  But if this is the possible area where this error might originate, then I can start there with some debugging statements.

      For what it's worth, the code in my perl5db.pl looks like (which is a bit different then the patch in the other message):

              # Receive anything there is to receive.
              $stuff;
              my $stuff = '';
              my $buf;
              do {
                  $IN->recv( $buf = '', 2048 );   # XXX "what's wrong with sysread?"
                                                  # XXX Don't know. You tell me.
              } while length $buf and ($stuff .= $buf) !~ /\n/;

              # What we got.
              $stuff;

      In case there might something that jumps out...

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks