Crash Dump Analysis Patterns (Part 77, Mac OS X)
This is a Mac OS X / GDB counterpart to C++ Exception pattern previously described for Windows platforms:
(gdb) bt
#0 0x00007fff88bd582a in __kill ()
#1 0x00007fff8c184a9c in abort ()
#2 0x00007fff852f57bc in abort_message ()
#3 0x00007fff852f2fcf in default_terminate ()
#4 0x00007fff852f3001 in safe_handler_caller ()
#5 0x00007fff852f305c in std::terminate ()
#6 0×00007fff852f4152 in __cxa_throw ()
#7 0×000000010e402be8 in bar ()
#8 0×000000010e402c99 in foo ()
#9 0×000000010e402cbb in main (argc=1, argv=0×7fff6e001b18)
The modeling application source code:
class Exception
{
int code;
std::string description;
public:
Exception(int _code, std::string _desc) : code(_code), description(_desc) {}
};
void bar()
{
throw new Exception(5, “Access Denied”);
}
void foo()
{
bar();
}
int main(int argc, const char * argv[])
{
foo();
return 0;
}
- Dmitry Vostokov @ DumpAnalysis.org + TraceAnalysis.org -
Forthcoming Training: Accelerated Mac OS X Core Dump Analysis