2013-01-18 118 views
0

在我的應用程序中,我也使用了C++/Boost庫。 奇怪的是,所有的崩潰日誌都與std :: length_error()有關。iOS std :: length_error ::〜length_error()crash

任何人都可以提供一些線索嗎? 歡迎任何評論。

124 Thread 8 Crashed: 
125 0 libsystem_kernel.dylib   0x30a70350 __pthread_kill + 8 
126 1 libsystem_c.dylib    0x33dff11e pthread_kill 
127 2 libsystem_c.dylib    0x33e3b96e abort 
128 3 libc++abi.dylib     0x36f5bd4a abort_message 
129 4 libc++abi.dylib     0x36f58ff4 default_terminate() 
130 5 libobjc.A.dylib     0x32c69a8c _objc_terminate() 
131 6 libc++abi.dylib     0x36f59078 safe_handler_caller(void 
132 7 libc++abi.dylib     0x36f59110 std::terminate() 
133 8 libc++abi.dylib     0x36f5a50e __cxa_throw 
134 9 Navigatio      0x00d9f65a std::length_error::~length_error() + 10115470 
135 10 Navigatio      0x0ed9f732 std::length_error::~length_error() + 10115686 
136 11 Navigatio      0x00d9a438 std::length_error::~length_error() + 10094444 
137 12 Navigatio      0x00d99b52 std::length_error::~length_error() + 10092166 
138 13 Navigatio      0x0059bc32 std::length_error::~length_error() + 1711974 
139 14 libsystem_c.dylib    0x33de130e _pthread_start 
140 15 libsystem_c.dylib    0x33de11d4 thread_start + 4 

回答

1

我認爲你的符號是錯誤的。看看這些補償:

0x00d9f65a std::length_error::~length_error() + 10115470 
0x0ed9f732 std::length_error::~length_error() + 10115686 
0x00d9a438 std::length_error::~length_error() + 10094444 
0x00d99b52 std::length_error::~length_error() + 10092166 
0x0059bc32 std::length_error::~length_error() + 1711974 

這些數字是瘋了。這將需要std::length_error::~length_error()超過9兆字節的代碼大小。

因此,在符號化過程中(例如用於提供符號的錯誤二進制),或者在std::length_error::~length_error()之後的9兆字節代碼中沒有符號。

相關問題