在我的应用程序中,我也使用了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
答案 0 :(得分: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兆字节代码中没有符号。