Что делать, когда vs-код удаленной отладки C++ просит установить gnutarget format-name
Я нахожусь на отладке удаленной программы C++, работающей на Rasberry Pi на Ubuntu. Я следовал за https://medium.com/@spe_/debugging-c-c-programs-remotely-using-visual-studio-code-and-gdbserver-559d3434fb78. Но после начала отладки я получаю
GDB failed with message: "/MyProjec/MyProgram": not in executable format: File format is ambiguous.
Matching formats: elf32-littlearm elf32-littlearm-symbian elf32-littlearm-vxworks.
Use "set gnutarget format-name" to specify the format.
где установить gnutarget format-name
?
1 ответ
Где я set gnutarget format-name
?
В вашем gdb.ini
или же .gdbinit
файл в зависимости от обстоятельств.
.gdbinit
файлПосле запуска GDB считывает и выполняет файл инициализации с именем
.gdbinit
, Он может содержать любую команду (например, set и break) и многое другое. Например, "set listsize" и "set prompt" могут входить в.gdbinit. Есть два места, где GDB будет искать этот файл (по порядку):
- В вашем домашнем каталоге
- В текущем каталоге
Вы можете поместить команды, которые будут выполняться для всех ваших программных проектов в
$HOME/.gdbinit
и специфичные для проекта команды в$PWD/.gdbinit
,Вы можете прокомментировать свой
.gdbinit
файлы с Bash's#
, И пустые строки, конечно же, игнорируются.
Peter's GDB Tutorial: инициализация, распечатка и запуск
Пример:
Образец gdb.ini
файл
Здесь у вас есть образец
gdb.ini
список файлов, который дает лучшие результаты при использованииgdb
, Под Linux вы должны поместить это в.gdbinit
файл в вашем домашнем каталоге или текущем каталоге.set print demangle off set gnutarget auto set verbose on set complaints 1000 dir ./rtl/dosv2 set language c++ set print vtbl on set print object on set print sym on set print pretty on disp /i $eip define pst set $pos=&$arg0 set $strlen = {byte}$pos print {char}&$arg0.st@($strlen+1) end document pst Print out a Pascal string end