it-swarm.com.de

Wie übergebe ich ein Befehlszeilenargument beim Starten von GDB unter Linux?

Ich muss ein Programm debuggen, das im Rahmen meiner Aufgabe Fehler enthält. Ich muss jedoch zuerst Befehlszeilenargumente übergeben, um dieses Problem zu lösen.

Ich mache:

gdb -tui InsertionSortWithErrors

was funktioniert, aber danach weiß ich nicht, wie ich Argumente weitergeben soll. Ich benutzte gdb -help und es sagt etwas über --args was ich auch ausprobiert habe und es hat nicht funktioniert.

Ich möchte in der Lage sein, den Debugger + die GUI zu erhalten und Befehlszeilenargumente zu übergeben.

101
ShadyBears

Sobald gdb gestartet ist, können Sie das Programm mit "r args" ausführen.

Wenn Sie Ihren Code folgendermaßen ausführen:

$ executablefile arg1 arg2 arg3 

Debuggen Sie es auf gdb durch:

$ gdb executablefile  
(gdb) r arg1 arg2 arg3
180
ldav1s

Versuchen

gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort
89

Eine weitere Option, die Sie innerhalb der GDB-Shell ausführen können, bevor Sie das Programm ausführen

(gdb) set args file1 file2

und inspiziere es mit:

(gdb) show args

Ich verwende GDB7.1.1 als --help zeigt an:

gdb [options] --args executable-file [inferior-arguments ...]

IMHO ist die Reihenfolge zunächst etwas uninteressant.

19
Alex