Сбой iOS std::length_error::~length_error()
В моем приложении я также использовал C++/Boost lib. Странно, что все журналы сбоев связаны с 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
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 мегабайт кода размером.
Таким образом, во время символизации что-то пошло не так, как надо (например, неверный двоичный файл используется для предоставления символов), или в 9 мегабайтах кода нет символов после std::length_error::~length_error()
,