在我的应用程序中,我还使用了 C++/Boost 库。 奇怪的是,所有崩溃日志都与 std::length_error() 有关。
谁能提供一些线索吗? 欢迎任何评论。
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
最佳答案
我认为你的符号是错误的。查看这些偏移量:
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 MB 代码中没有符号。 .
关于iOS std::length_error::~length_error() 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14406173/