IOException in debugger?

greggjensen wrote on Thu May 29 22:36:56 MEST 2008:
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 wrote on Thu May 29 22:41:18 MEST 2008:
Sorry, I am using eclipse 3.3.2 on Linux (Ubuntu Hardy) with EPIC version
0.6.24
jploski wrote on Fri May 30 00:09:35 MEST 2008:
Search the forum for "Unmatched right curly bracket".
greggjensen wrote on Fri May 30 17:01:08 MEST 2008:
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...

Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.