Differences

This shows you the differences between two versions of the page.

Link to this comparison view

so:laboratoare:resurse:gdb [2013/05/22 01:59]
ghennadi.procopciuc [Depanarea unui proces]
so:laboratoare:resurse:gdb [2015/03/18 22:55] (current)
marius.ungureanu93 Explicitly mention function results, fix some diacritics
Line 60: Line 60:
  
 Câteva din comenzile de bază în ''​gdb''​ sunt: Câteva din comenzile de bază în ''​gdb''​ sunt:
-  * **breakpoint** - primeşte ca argument un nume de funcţie (ex: main), un număr de linie şi, eventual, un fişier (ex: break sursa.c:50) sau o adresă (ex: break *0x80483d3).  +  * **b[reakpoint]** - primeşte ca argument un nume de funcţie (ex: main), un număr de linie şi, eventual, un fişier (ex: break sursa.c:50), o funcţie (b sursa.c:​my_function) sau o adresă (ex: breakpoint ​*0x80483d3).  
-  * **next** - va continua execuţia programului până ce se va ajunge la următoarea linie din codul sursă. Dacă linia de executat conţine un apel de funcţie, funcţia se va executa complet.  +  * **n[ext]** - va continua execuţia programului până ce se va ajunge la următoarea linie din codul sursă. Dacă linia de executat conţine un apel de funcţie, funcţia se va executa complet.  
-  * **step** - dacă se doreşte şi inspectarea funcţiilor.+  * **s[tep]** - dacă se doreşte şi inspectarea funcţiilor
 +  * **fin[ish]** - dacă se doreşte ieşirea din funcţia curentă.
  
 Folosirea acestor comenzi este exemplificată mai jos: Folosirea acestor comenzi este exemplificată mai jos:
Line 157: Line 158:
 </​columns>​ </​columns>​
  
-  ***print** - cu ajutorul acesteia se pot afişa valorile variabilelor din funcţia curentă sau a variabilelor globale. ''​print''​ poate primi ca argument şi expresii complicate (dereferenţieri de pointeri, referenţieri ale variabilelor,​ expresii aritmetice, aproape orice expresie C validă). În plus, ''​print''​ poate afişa structuri de date precum ''​struct''​ şi ''​union''​. ​+  ***print** - cu ajutorul acesteia se pot afişa valorile variabilelor din funcţia curentă sau a variabilelor globale. ''​print''​ poate primi ca argument şi expresii complicate (dereferenţieri de pointeri, referenţieri ale variabilelor,​ expresii aritmetice, aproape orice expresie C validă). În plus, ''​print''​ poate afişa structuri de date precum ''​struct''​ şi ''​union'' ​sau evalua funcţii şi întoarcerea rezultatului lor.
  
 <columns 100% 40% -> <columns 100% 40% ->
Line 174: Line 175:
 (gdb) print b (gdb) print b
 $2 = 2 $2 = 2
 +(gdb) print f(a, b)
 +$3 = 3
 (gdb) print c (gdb) print c
-$= 1073792080+$= 1073792080
 (gdb) next (gdb) next
 7               ​return c; 7               ​return c;
 (gdb) print c (gdb) print c
-$= 3+$= 3
 (gdb) finish (gdb) finish
 Run till exit from #0  f (a=1, b=2) at add.c:7 Run till exit from #0  f (a=1, b=2) at add.c:7
Line 221: Line 224:
 </​code>​ </​code>​
 </​columns>​ </​columns>​
- 
 ===== Depanarea unui proces ===== ===== Depanarea unui proces =====
  
so/laboratoare/resurse/gdb.1369177175.txt.gz · Last modified: 2013/05/22 01:59 by ghennadi.procopciuc
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0