This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Program exited with code 0303000


Thanks for the reply.

>   Since you've got the code up and running in a debugger, you can set
> breakpoints on abort, exit, and the last line of main, then when
> it hits one
> you can see for yourself from which point your code is exiting and the
> reason why it's returning a non-zero exit code.

I was trying to step through the code in gdb and pin this down so setting
breaks on abort and exit sounds useful. However, both b abort and b exit
give me ...

(gdb) b abort
Breakpoint 1 at 0x401552: file otlv4.h, line 3608.
(gdb) b exit
Note: breakpoint 1 also set at pc 0x401552.
Breakpoint 2 at 0x401552: file otlv4.h, line 3608.

But line 3608 of otlv4.h looks like nothing to do with abort or exit

add_var(i,var,in_out,apl_tab_size);

However, further digging reveals that my program gets to the throw command
here ...

catch ( RProgReturnException e )
{
   throw;
}

and if I step on throw the debugger thinks I'm at ... gues which line?! yes,
line 3608 of otlv4.h ...

(gdb) s
0x1003b115 in __cxa_rethrow () at otlv4.h:3608
3608              add_var(i,var,in_out,apl_tab_size);

and if I step again I get ...

Program exited with code 0303000.

So I'm wondering firstly why gdb seems to have a mismatch between address
and source line number and why that throw didn't get caught in my catch in
main.

Thanks in anticipation and thanks for your input so far,

Dan


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]