@Mercury13
Программист на «си с крестами» и не только

Как поймать в GDB исключение, вызванное из basic_string(const charT*)?

Выпала авария на стыке своего кода и COM — «basic_string::_S_construct null not valid». Очевидно, какой-то COM-объект неожиданно вернул строку NULL. Логикой это дело вряд ли поймёшь, нужно искать точку, где это вышло. Стандартный способ перехватить, где авария выпала (ПКМ → Add breakpoint → Break when C++ exception is thrown), не работает — конструктор basic_string::basic_string(const charT*) принадлежит libc++.
Какие есть способы понять, откуда авария выпала?
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
@Mercury13 Автор вопроса
Программист на «си с крестами» и не только
Нашёл.
Подключить статический libc++ (-static-libstdc++), тогда всё будет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
Загрузить символы из libc++ и поставить break.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы