Szükségem lenne néhány pontosításra a GDB működéséről a cloud9 IDE környezetében
Van két különböző típusú hibakereső, amelyet az IDE környezet?
-
Hibakereső, a
debug
parancs bemenetén keresztül, amely lépésről lépésre fordítja / ellenőrzi a bemeneteket? (a forrásfájlhoz) -
GDB, amely ellenőrzi a futtatható programot?
Ezenkívül hogyan adja át az argumentumokat GDB? Úgy tűnik, hogy ezt nem tudom kitalálni.
A pset4-et nézem, és a GDB-t szeretném futtatni a futtatható “másolaton”, és be kell adnom egy bemenetet és egy kimeneti fájlnevet. > hogyan tenném ezt a terminálban
SZERKESZTÉS
szintén az én a hibakereső is mindig meghibásodott
Válasz
A GDB argumentumokkal történő futtatásához használja a –args paramétert.
gdb --args name arg1 arg2 arg3
debug50 (a grafikus hibakereső) csak GDB GUI-val. A GDB-t eredetileg úgy tervezték, hogy a terminálon keresztül fusson, és még mindig az. Sokkal rugalmasabb, mint bármely grafikus hibakereső.
- Itt a GDB teljes útmutatója: https://sourceware.org/gdb/current/onlinedocs/gdb/
- És itt megtaláltam a cheat sheet-et: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Az alábbiakban azonban bemutatunk néhány alapot:
- lépésről lépésre hibakeresés:
next (or n)
-
A töréspont beállítása a
break (or b) [function or line number]
paranccsal történik, például:break main
vagybreak 20
ahol a “20” a megszakítandó sor. -
Futtassa a programot a
run (or r)
. -
A
continue or c
gombbal ugorhat a következő töréspontra. -
Változó nyomtatásához a GDB-n belül (nem használva az
printf()
-t) írja be aprint varname
kifejezést. ul>Alternatív megoldásként, most, hogy ismer néhány parancsot, futtathatja a programot néhány argumentummal a
[r]un arg1 arg2 arg3
paranccsal.Ami a problémák a debug50-el, sajnálom, hogy a debug50 elődje megszakadt, és úgy tűnik, hogy a debug50 is megszakadt. Legalábbis soha nem sikerült kijavítanom.
Megjegyzések
- köszönöm a nagyon mély választ! Szintén egy másik kérdés, van-e előre telepítve a GDB néhány linux Bash környezetben, és esetleg a Windows parancssor?
- A GDB minden Linux disztribúcióban előre telepítve van, amennyire tudom, és minden bizonnyal a legnépszerűbbekben (arch, debian, ubuntu) stb.). A Windows rendszerre való letöltéshez szükség lehet a Cygwin vagy a MinGW használatára (Linux / GNU / POSIX eszközök és dolgok gyűjteményei), nem tudom, hogy ' nem tudom, hogy a " hivatalos " letöltés a GDB letöltési oldaláról gnu.org/software/gdb valóban támogatja ablakokat, még nem próbáltam '.