Potřebuji vysvětlení, jak funguje GDB v prostředí IDE v cloudu9
Existují dvě věci, různé typy debuggerů, které IDE prostředí?
-
Debugger, prostřednictvím
debug
vstupu příkazu, který vypadá, provádí kompilaci krok za krokem / kontroluje vstupy? (pro zdrojový soubor) -
GDB, který kontroluje spustitelný program?
Jak také předáváte argumenty do GDB? Zdá se mi, že na to nedokážu přijít.
Dívám se na pset4 a chci spustit GDB na spustitelném „copy“ a předat název vstupního a výstupního souboru
jak bych to udělal v terminálu
EDIT
také můj debugger je také vždy rozbitý
Odpovědět
Chcete-li spustit GDB s argumenty v terminálu, použijte parametr –args.
gdb --args name arg1 arg2 arg3
debug50 (grafický debugger) je jen GDB s GUI. GDB byl původně navržen tak, aby běžel přes terminál, a stále je. Je mnohem flexibilnější než jakýkoli grafický debugger.
- Zde je kompletní referenční příručka pro GDB: https://sourceware.org/gdb/current/onlinedocs/gdb/
- A tady „cheat sheet jsem našel: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Zde je několik základních informací:
- Ladění krok za krokem:
next (or n)
-
Nastavení bodu zlomu se provádí pomocí
break (or b) [function or line number]
, například:break main
nebobreak 20
kde „20“ je řádek, který se má zalomit. -
Spusťte program pomocí
run (or r)
. -
Pomocí
continue or c
přeskočíte na další bod zlomu. -
Chcete-li tisknout proměnnou uvnitř GDB (nepoužívá
printf()
), zadejteprint varname
.
Alternativně, nyní, když znáte několik příkazů, můžete spustit program s některými argumenty pomocí [r]un arg1 arg2 arg3
.
Pokud jde o váš problémy s debug50, je mi líto, že předchůdce debug50 byl rozbit a vypadá to, že debug50 je nyní také rozbitý. Minimálně se mi to nikdy nepodařilo opravit.
Komentáře
- děkuji za velmi hloubkovou odpověď !. Také další otázka, je GDB předinstalován v některých linuxových prostředích Bash a možná v příkazovém řádku Windows?
- GDB je předinstalován v každé linuxové distribuci, pokud vím, a určitě v nejpopulárnějších (arch, debian, ubuntu , atd..). Abyste to mohli získat v systému Windows, možná budete muset použít Cygwin nebo MinGW (sbírky nástrojů a věcí pro Linux / GNU / POSIX), nevím ' zda " oficiální " stahování na stránce stahování GDB gnu.org/software/gdb ve skutečnosti podporuje Windows, nezkoušel jsem '.