Хорошо, это обычно происходит, если отсутствуют символы отладки ... просто чтобы убедиться, что выполняются следующие команды
file <your_executable>
вы получите информацию о вашем бинарном формате, формате, арке и т. Д. В последней части информации описывается, если бинарный файл удален или нет. Для отладки в GDB двоичный файл не должен быть удален.
nm --debug-sym <your_executable> | grep debug
Если у вас есть несколько допустимых отпечатков, как показано ниже, это означает, что присутствуют символы отладки.
00000000 N .debug_abbrev
00000000 N .debug_aranges
00000000 N .debug_frame
00000000 N .debug_info
00000000 N .debug_line
00000000 N .debug_loc
00000000 N .debug_pubnames
00000000 N .debug_str
Далее, когда вы вызываете GDB, у вас должна быть следующая строка
Reading symbols from <your_executable>...done.
На этом этапе вы сможете составить список источников с помощью команды list
.
Убедитесь, что оба gdb и gdbserver имеют одинаковую версию.
arm-none-linux-gnueabi-gdb --version
./gdbserver --version
Если все вышесказанное верно, и вы все еще не получаете обратный след, в вашем стеке происходит что-то плохое. Попробуйте запустить статический анализ, valgrind для вашего кода / недавно добавленный код.