C++也是支持異常處理的,異常處理庫中,已經包含了獲取backtrace的接口,Android也是利用這個接口來打印堆棧信息的。在Android的C++中,已經集成了壹個工具類CallStack,在libutils.so中。
使用方法:
[cpp]?view?plaincopy#include?<utils/CallStack.h>?
...?
CallStack?stack;?
stack.update();?
stack.dump();
使用方式比較簡單。目前Andoid4.2版本已經將相關信息解析的很到位,符號表查找,demangle,偏移位置校正都做好了。