IOException in debugger?

  • GreggJensen

    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:


    use Getopt::Std;

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

    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/] line 10, at EOF
    Missing right curly or square bracket at (eval 19)[/home/gjensen/workspace/.metadata/.plugins/org.epic.debug/] line 12, at end of line

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


    • GreggJensen

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

    • Jan Ploski
      Jan Ploski

      Search the forum for "Unmatched right curly bracket".

    • GreggJensen

      Thanks for the reply, but it looks like that section of code (in both the system wide as well as the 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 looks like (which is a bit different then the patch in the other message):

              # Receive anything there is to receive.
              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.

      In case there might something that jumps out...