This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Program exited with code 0303000
- From: "Dan Osborne" <dan dot osborne at ramesys dot com>
- To: "Cygwin at Cygwin dot Com" <cygwin at cygwin dot com>
- Date: Tue, 28 Sep 2004 13:21:51 +0100
- Subject: 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/