Моя программа на 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)