Jeg trenger noen avklaringer om hvordan GDB fungerer i IDE-miljøet på cloud9
Er det to ting forskjellige typer feilsøkere som IDE miljø?
-
Feilsøking, gjennom
debug
kommandoinngang som ser trinnvis ut kompilering / sjekker innganger? (for kildefil) -
GDB, som sjekker det kjørbare programmet?
Hvordan overfører du argumenter til GDB? Jeg ser ikke ut til å finne ut av dette.
Jeg ser på pset4 og vil kjøre GDB på den kjørbare «kopien» og sende inn et inndata og et utdatafilnavn
hvordan skal jeg gjøre det i terminalen
EDIT
også min debugger er alltid ødelagt også
Svar
For å kjøre GDB med argumenter i terminalen, bruk parameteren –args.
gdb --args name arg1 arg2 arg3
debug50 (den grafiske feilsøkingsprogrammet) er bare GDB med en GUI. GDB ble opprinnelig designet for å kjøres gjennom terminalen, og er fortsatt. Det er mye mer fleksibelt enn noe grafisk feilsøkingsprogram.
- Her er en fullstendig referanseguide for GDB: https://sourceware.org/gdb/current/onlinedocs/gdb/
- Og her «et jukseark jeg fant: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Her er imidlertid noen grunnleggende:
- Trinnvis feilsøking:
next (or n)
-
Å sette et brytpunkt gjøres med
break (or b) [function or line number]
, for eksempel:break main
ellerbreak 20
der «20» er linjen som skal brytes. -
Kjør programmet med
run (or r)
. -
Bruk
continue or c
for å hoppe til neste brytpunkt. -
For å skrive ut en variabel i GDB (ikke bruker
printf()
) skriver duprint varname
.
Alternativt, nå som du kjenner noen få kommandoer, kan du kjøre programmet ditt med noen argumenter med [r]un arg1 arg2 arg3
.
Når det gjelder problemer med debug50, jeg beklager å si at debug50s forgjenger var ødelagt, og det ser ut til at debug50 nå også er ødelagt. Jeg klarte aldri å fikse det i det minste.
Kommentarer
- takk for det dypeste svaret !. Også et annet spørsmål, er GDB forhåndsinstallert i noen Linux Bash-miljøer og kanskje windows ledetekst?
- GDB kommer forhåndsinstallert i hver Linux-distribusjon så vidt jeg vet, og absolutt i de mest populære (arch, debian, ubuntu , etc..). For å få det til Windows må du kanskje bruke Cygwin eller MinGW (samlinger av Linux / GNU / POSIX verktøy og ting). Jeg vet ikke ' om " offisiell " nedlasting på GDB-nedlastingssiden gnu.org/software/gdb støtter faktisk windows, jeg har ikke ' ikke prøvd.