c ++ linux: Как определить настоящую причину исключения? - PullRequest
0 голосов
/ 20 июня 2020

Я получил эту ошибку:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
Aborted

Я пробовал также с gdb , но с трассировкой стека или журналами gdb, то, что вижу только я, это ошибка библиотека c. Но мне нужно знать настоящую причину, которая вызывает это: Кто вызывает std :: string (NULL)?

Как я могу это отследить?

Изменить:

Вот след от gdb:

424backtrace
>&"backtrace\n"
>~"#0  0xb6dfd584 in raise () from /home/user0/device/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0\n"
>~"#1  0xb6df7888 in abort () from /home/user0/device/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0\n"
>~"#2  0xb6ea1398 in __gnu_cxx::__verbose_terminate_handler () at /home/user0/Development/buildroot-2012.11.1/output/toolchain/gcc-4.8-20120429/libstdc++-v3/libsupc++/vterminate.cc:95\n"
>~"#3  0xb6e9f104 in __cxxabiv1::__terminate (handler=<optimized out>) at /home/user0/Development/buildroot-2012.11.1/output/toolchain/gcc-4.8-20120429/libstdc++-v3/libsupc++/eh_terminate.cc:40\n"
>~"#4  0xb6e9f12c in std::terminate () at /home/user0/Development/buildroot-2012.11.1/output/toolchain/gcc-4.8-20120429/libstdc++-v3/libsupc++/eh_terminate.cc:50\n"
>~"#5  0xb6edb064 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>) at /home/user0/Development/buildroot-2012.11.1/output/toolchain/gcc-4.8-20120429/libstdc++-v3/src/c++11/thread.cc:77\n"
>~"#6  0xb6fa2410 in start_thread () from /home/user0/device/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0\n"
>~"#7  0xb6dfcbd4 in clone () from /home/user0/device/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0\n"
>~"#8  0xb6dfcbd4 in clone () from /home/user0/device/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libc.so.0\n"
>~"Backtrace stopped: previous frame identical to this frame (corrupt stack?)\n"
>424^done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...