Неожиданный выход GDB. Процесс GDB завершен. Баг GDB?
При запуске отладчика gdb в qt creator выбрасывается такое окно.
Никаких подробностей я не получаю, единственное что я заметил, что когда ошибка появляется , gdb не может загрузить контекст. В поле контекста я вижу только следующее :
Данная загрузки крутиться секунды 2 и вылетает ошибка. Никаких лишних точек остановы нет, вычисляемых выражений вообще нет. консоль отладчика QML
Не могу разобраться в чём причина, все решения, что я находил, я применял(видно по настройкам), кроме, разве что, сборки старой версии из исходников и её устакновик.
gdb -v GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90 Qt 5.15.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 11.3.0) on "xcb" OS: Ubuntu 22.04.1 LTS [linux version 5.15.0-67-generic]
Дополнительные подробности по ответу:
(0) - Папка существует, процесс сам по себе запускается, путь к исполняемому файлу указан верно(иначе отладка наверное не запустилась бы в принципе), процесс без отладчика запускается и запускался сотни раз не только на моей машине(моя машина - родная машина кода).
По поводу запускается и падает - сейчас попробовал запустить с точкой остановки на 1-й строке main-a
- падает, переставил точку остановы подальше - на метод в классе , который читает входные данные - всё остановилось там, где надо, не упало, контекст виден(упадёт, если продолжать отладку по f11 уже на следующем шаге(там заход в метод), но если в метод не заходить, нажать f10, то не упадёт - такое на нескольких разных методах происходит). Если запустить без точки остановы - получаю SIGABRT
.
(1) - поведение не поменялось
(2) - вот момент, на котором всё падает(постарался всё конфиденциальное убрать):
>&"python theDumper.fetchVariables({\"autoderef\":1,\"context\":\"\",\"displaystringlimit\":300,\"dyntype\":1,\"expanded\":[\"local\",\"inspect\",\"return\",\"watch\"],\"fancy\":0,\"formats\":{},\"nativemixed\":0,\"partialvar\":\"\",\"passexceptions\":0,\"qobjectnames\":1,\"resultvarname\":\"\",\"stringcutoff\":100000,\"timestamps\":0,\"token\":273,\"typeformats\":{},\"watchers\":[]})\n"
>&"/build/gdb-wIRHdd/gdb-12.0.90/gdb/value.c:1731: internal-error: value_copy: Assertion `arg->contents != nullptr' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable."
>&"\n"
>&"----- Backtrace -----\n"
>&"Backtrace unavailable\n"
>&"---------------------\n"
>~"/build/gdb-wIRHdd/gdb-12.0.90/gdb/value.c:1731: internal-error: value_copy: Assertion `arg->contents != nullptr' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable."
>~"\nQuit this debugging session? "
>~"(y or n) [answered Y; input not from terminal]\n"
>&"\nThis is a bug, please report it."
>&" For instructions, see:\n"
>&"<https://www.gnu.org/software/gdb/bugs/>.\n\n"
>~"/build/gdb-wIRHdd/gdb-12.0.90/gdb/value.c:1731: internal-error: value_copy: Assertion `arg->contents != nullptr' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable."
>~"\nCreate a core file of GDB? "
>~"(y or n) [answered Y; input not from terminal]\n"
dHANDLE GDB ERROR: Процесс был завершён принудительно.
dProcess crashed
dHANDLE GDB ERROR: Процесс был завершён принудительно.
dProcess crashed
dGDB PROCESS FINISHED, status 1, exit code 6 (0x6)
dNOTE: INFERIOR ILL
dState changed from InferiorStopOk(10) to InferiorShutdownRequested(12)
dCALL: SHUTDOWN INFERIOR
dNO GDB PROCESS RUNNING, CMD IGNORED: kill 12
dINFERIOR FINISHED SHUT DOWN
dState changed from InferiorShutdownRequested(12) to InferiorShutdownFinished(13)
dState changed from InferiorShutdownFinished(13) to EngineShutdownRequested(14)
dCALL: SHUTDOWN ENGINE
dPLAIN ADAPTER SHUTDOWN 14
dINITIATE GDBENGINE SHUTDOWN, PROC STATE: 0
dNOTE: ENGINE SHUTDOWN FINISHED
dState changed from EngineShutdownRequested(14) to EngineShutdownFinished(15)
Отладчик завершился.
dState changed from EngineShutdownFinished(15) to DebuggerFinished(16)
Если запускаю через консоль, то всё хорошо:
gdb ./ProgName
run
[Inferior 1 (process 34928) exited normally]