Was ist zu tun, wenn beim Remote-C ++ - Debugging von vs-code gnutarget-Formatname festgelegt wird

530
neckTwi

Ich bin auf dem Debuggen von Remote-C ++ - Programm, das auf Himbeer-Pi auf Ubuntu ausgeführt wird. Ich habe https://medium.com/@spe_/debugging-cc-programs-remotely- using- visual- studio- and- gdbserver- 559d3434fb78 gefolgt . Aber beim Start des Debugging bekomme ich

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. ​ 

wo soll ich einstellen gnutarget format-name?

1

1 Antwort auf die Frage

0
DavidPostill

Wo finde ich set gnutarget format-name?

In Ihrer gdb.inioder .gdbinitDatei entsprechend.

Die .gdbinitDatei

Beim Start liest GDB eine Initialisierungsdatei mit dem Namen .gdbinit. Es kann einen beliebigen Befehl enthalten (z. B. set und break) und mehr. Zum Beispiel können "set listize" und "set prompt" in .gdbinit gehen. Es gibt zwei Speicherorte, an denen GDB nach dieser Datei sucht (in Reihenfolge):

  • In Ihrem Heimatverzeichnis
  • Im aktuellen Verzeichnis

Sie können Befehle für alle Ihre Programmierprojekte $HOME/.gdbinitund projektspezifische Befehle in einfügen $PWD/.gdbinit.

Sie können Ihre .gdbinitDateien mit bash kommentieren #. Und leere Zeilen werden natürlich ignoriert.

Gdb Tutorial von Peter: Initialisierung, Auflisten und Ausführen

Beispiel:

Eine gdb.iniBeispieldatei

Hier haben Sie eine Beispieldatei gdb.ini, die bei der Verwendung bessere Ergebnisse liefert gdb. Unter Linux sollten Sie dies in einer .gdbinitDatei in Ihrem Home-Verzeichnis oder im aktuellen Verzeichnis ablegen.

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 = $pos  print &$arg0.st@($strlen+1)  end   document pst  Print out a Pascal string  end 

Quell- EA-Beispieldatei "gdb.ini"