Моя программа на C++ завершается с ошибкой std::logic_error, и я хотел бы отследить исходную строку, вызвавшую ее. Как я могу это сделать?
TBH, я использую gdb, используя g++ -g, чтобы добавить информацию об отладке. Все, что я могу получить, это эти сообщения:
Это приложение запросило у среды выполнения необычное завершение его работы. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации. завершение вызывается после создания экземпляра 'std::logic_error' what(): basic_string::_S_construct null недействителен
Catchpoint 1 (exception thrown), 0x0045ffa0 in __cxa_throw ()
(gdb) bt
#0 0x0045ffa0 in __cxa_throw ()
#1 0x004601e8 in std::__throw_logic_error(char const*) ()
#2 0x00502238 in typeinfo for std::__timepunct<wchar_t> ()
#3 0x004685f8 in std::runtime_error::what() const ()
#4 0x03210da8 in ?? ()
#5 0x002efbcc in ?? ()
#6 0x00468734 in std::domain_error::~domain_error() ()
#7 0x00000000 in ?? ()
(gdb)