Задать вопрос
@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++.
Какие есть способы понять, откуда авария выпала?
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
@Mercury13 Автор вопроса
Программист на «си с крестами» и не только
Нашёл.
Подключить статический libc++ (-static-libstdc++), тогда всё будет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
Загрузить символы из libc++ и поставить break.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы