.
.
.
Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x0000001e ebx: 0x928305ce ecx: 0x00000000 edx: 0x00000000
edi: 0x00000000 esi: 0xa03c2060 ebp: 0xbffff0c8 esp: 0xbffff080
ss: 0x0000001f efl: 0x00010206 eip: 0x928306fb cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
cr2: 0x0000001e
So it looks like a corrupted stack problem..
How does one go about diagnosing these kind of bugs? I already made .gdbinit file and put the following in it:
////////////////////////////////////////////////////
define checkheap
set env MallocCheckHeapStart 1
set env MallocCheckHeapEach 500
end
define mallocguard
set env MallocGuardEdges 1
set env MallocCheckHeapAbort 1
set env MallocBadFreeAbort 1
end
define guard
set env DYLD_FORCE_FLAT_NAMESPACE 1
set env DYLD_INSERT_LIBRARIES /usr/lib/libgmalloc.B.dylib
end
define guard-before
set env MALLOC_PROTECT_BEFORE 1
end
define guard-strict
set env MALLOC_STRING_SIZE 1
end
define maxguard
guard
guard-before
guard-strict
end
////////////////////////////////////////////////////
When the crash happens the app just goes poof and in gdb I don't get any helpful info at all.
Are there more extensive ways to configure gdb to catch stack problems?
Thanks,,
Tom McHale