我正在调试在 Ubuntu 上的 Raspberry Pi 上运行的远程 C++ 程序。我已关注https://medium.com/@spe_/debugging-cc-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 的 来注释您的文件#
。当然,空行会被忽略。
例子:
示例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