gdb problem - program vanishes on SIGABRT
Pete French
petefrench at ticketswitch.com
Thu May 12 05:55:17 PDT 2005
Under 4.11 I was using gcc34 and gdb6 to run and debug code. Moving
to 5.4 these tools come as standard, so I am now just using the normal
cc / gdb combination.
I am finding that when my code breaks with SIGABRT (as the result of
an unknown method being sent in this case) then I cannot get a backtrace
in gbd as it tells me "The program no longer exists."
This appears to be FreeBSD 5.4 specific - using the same versions of the
compiler and debugger under FreeBSD 4.11 doesnt have this problem, and it
does not occurr on other operating systems either.
4.11 output from gdb6:
Program received signal SIGABRT, Aborted.
0x280b3474 in kill () from /usr/lib/libc_r.so.4
5.4 output from gdb
Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
Heres the code I am using. Its compiled with 'cc -g test.m -lobjc -pthread'
#include <objc/objc.h>
#include <objc/objc-api.h>
#include <objc/Object.h>
int
main(int argc, char *argv[])
{
id my_test = [Object new];
[my_test a_missing_method];
return 0;
}
Several people have tried this on other operating systems and do not see
the same problem - also (as I said) it does not occur on FreeBSD 4.11 so
it seems to be specific to FreeBSD 5.
-pcf.
More information about the freebsd-stable
mailing list