Am nevoie de câteva clarificări cu privire la modul în care funcționează GDB în mediul IDE pe cloud9
Există două lucruri diferite tipuri de depanatoare pe care IDE mediu?
-
Depanator, prin intrarea comenzii
debug
care pare compilarea pas cu pas / verifică intrările? (pentru fișierul sursă) -
GDB, care verifică programul executabil?
De asemenea, cum transmiteți argumente în GDB? Nu pot să-mi dau seama.
Mă uit la pset4 și vreau să rulez GDB pe „copia” executabilă și să trec într-un nume de fișier de intrare și de ieșire
cum aș face asta în terminal
EDIT
depanatorul este întotdeauna rupt și
Răspuns
Pentru a rula GDB cu argumente în terminal, utilizați parametrul –args.
gdb --args name arg1 arg2 arg3
debug50 (depanatorul grafic) este doar GDB cu o interfață grafică. GDB a fost inițial conceput pentru a fi rulat prin terminal și încă este. Este mult mai flexibil decât orice depanator grafic.
- Aici este un ghid complet de referință pentru GDB: https://sourceware.org/gdb/current/onlinedocs/gdb/
- Și aici „o foaie de înșelăciune am găsit: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Cu toate acestea, iată câteva elemente de bază:
- Depanare pas cu pas:
next (or n)
-
Setarea unui punct de întrerupere se face cu
break (or b) [function or line number]
, de exemplu:break main
saubreak 20
unde „20” este linia de rupt. -
Rulați programul cu
run (or r)
. -
Utilizați
continue or c
pentru a trece la următorul punct de pauză. -
Pentru a imprima o variabilă în GDB (fără a utiliza
printf()
) tastațiprint varname
.
Alternativ, acum că cunoașteți câteva comenzi, puteți rula programul cu câteva argumente cu [r]un arg1 arg2 arg3
.
În ceea ce privește probleme cu debug50, îmi pare rău să spun că predecesorul lui debug50 a fost stricat și se pare că și debug50 este acum stricat. Nu am reușit niciodată să o rezolv cel puțin.
Comentarii
- mulțumesc pentru răspunsul foarte profund !. De asemenea, o altă întrebare, GDB este preinstalat în unele medii Linux Bash și poate promptul de comandă Windows?
- GDB vine preinstalat în fiecare distribuție Linux, din câte știu și cu siguranță în cele mai populare (arch, debian, ubuntu , etc ..). Pentru a-l obține pe Windows este posibil să trebuiască să utilizați Cygwin sau MinGW (colecții de instrumente și lucruri Linux / GNU / POSIX), nu ' nu știu dacă „>
descărcare oficială " pe pagina de descărcare GDB gnu.org/software/gdb acceptă de fapt Windows, nu am încercat '.