of type std::runtime_error: x
Aborted (core dumped)
почему может исключение не ловиться?
линукс, шланг, libc++, полная кастомщина, статик либц (масл) и тд
src: https://pastebin.com/gF57T6d4
bt: https://pastebin.com/u8LYuS84
Запустил в wandbox с clang++ prog.cc -Wall -Wextra -O2 -march=native -std=gnu++17 Всё ок
вот прямо вот этот минимальный пример валится?
__cxxabiv1::failed_throw - подозрительно
D:/temp/9/musl-1.1.22/1/main.cpp:8 не похоже на линукс :) или кросскомпилишь?
Hello, World! libunwind: _Unwind_RaiseException(ex_obj=0x9b2080) libunwind: __unw_init_local(cursor=0x7fffc4ef5550, context=0x7fffc4ef5658) libunwind: __unw_step(cursor=0x7fffc4ef5550) terminating with uncaught exception of type std::runtime_error: x Aborted (core dumped) https://github.com/llvm/llvm-project/blob/master/libunwind/src/UnwindCursor.hpp#L1962 тут не срабатывает условие, возможно где-то при сборке либы флаги потерял немного гдб - https://pastebin.com/JBZFepd3
второй раунд: Кросскомпиляция в макос, также не находит хендлеры исключений на раскрутке в большой программе. А хелоуворлды с исключениями работают нормально (и даже с тредами). https://pastebin.com/PZX6RcTk
-fvisibility-hidden случайно не включали? Clang в этом случае не перехватывает исключения, если они не помечены visibility default
Обсуждают сегодня