Informatika2-2012/Gyakorlat04

A MathWikiből
(Változatok közti eltérés)
(Ismerkedés a mutatókkal)
3. sor: 3. sor:
 
A lenti feladatokat a CodeLite-ban oldhatjátok meg legegyszerűbben (ne felejtsetek el minden feladathoz új projektet nyitni!), de akinek a konzolos, gcc-s fordítás a szimpatikusabb úgy is csinálhatja.
 
A lenti feladatokat a CodeLite-ban oldhatjátok meg legegyszerűbben (ne felejtsetek el minden feladathoz új projektet nyitni!), de akinek a konzolos, gcc-s fordítás a szimpatikusabb úgy is csinálhatja.
  
==== Ismerkedés a mutatókkal ====
+
==== Ismerkedés a mutatókkal és a debuggerrel ====
Futtassuk le lépésrıl lépésre a programot és figyeljük meg a változók értékeinek
+
 
változását!
+
Ha mutatókakl végzünk műveleteket, azt könnyű elrontani. Ezért mielőtt belemerülünk, ismerkedjünk meg néhány hibakeresési módszerrel.
 +
 
 +
A CodeLite tartalmaz beépített debuggert (bug = rajtett hiba a kódban; debugging = ennek keresése/javítása; debugger = ezt segítő eszközkészlet/segédprogram).
 +
 
 +
Másoljuk be a következő kódot egy új projekt ''main.c''-jébe:
 
<c>
 
<c>
 
#include <stdio.h>
 
#include <stdio.h>
 +
 
main() {
 
main() {
 
   int a=5; int b=6; int c = 7;
 
   int a=5; int b=6; int c = 7;
21. sor: 26. sor:
 
}
 
}
 
</c>
 
</c>
 +
 +
A hibakeresés egyik fontos eszköze hogy a program futását bárhol megállíthassuk és "ránézhessünk" a változók pillanatnyi értékére. A program persze túl gyorsan fut ahhoz hogy futás közben megnyomjunk egy "pause" gombot, ezért előre meg kell adni azokat a helyeket (sorokat) ahol szeretnénk hogy megálljon a futás. Ezek az ún. "töréspontok" (breakpoint).
 +
Állítsunk be töréspontokat a kód melett balra a sorszámokat is tartalmazó csíkra (a sor-szám mellé kicsit jobbra) kattintva! Piros pöttyöknek kell megjelenniük a kattintás helyén. Ezek a pöttyök jelzik a töréspontokat. Egy következő kattintás kitörli a töréspontot.
 +
 +
A programot ne úgy futtassuk mint eddig (Build menü -> Run), hanem a "Debug" menüpont alatti "Start/Continue debugger" -rel.
 +
A kerek kék "play-gombbal" ugorhatunk a következő töréspontra, a kapcsoszárójeles-zöldnyilas gombokkal pedig sorról sorra haladhatunk akkor is ha nincs ott töréspont, illetve bemehetünk egy függvényhívás belsejébe, vagy a visszatérése utáni állapotra ugorhatunk.
 +
 +
Futtassuk le lépésről lépésre (szinte minden sorban legyen töréspont) a programot és figyeljük meg a változók értékeinek
 +
változását ( a lenti "Locals" fül alatt fognak látszani)!

A lap 2012. február 29., 23:26-kori változata

Mutatók (pointer-ek)

A lenti feladatokat a CodeLite-ban oldhatjátok meg legegyszerűbben (ne felejtsetek el minden feladathoz új projektet nyitni!), de akinek a konzolos, gcc-s fordítás a szimpatikusabb úgy is csinálhatja.

Ismerkedés a mutatókkal és a debuggerrel

Ha mutatókakl végzünk műveleteket, azt könnyű elrontani. Ezért mielőtt belemerülünk, ismerkedjünk meg néhány hibakeresési módszerrel.

A CodeLite tartalmaz beépített debuggert (bug = rajtett hiba a kódban; debugging = ennek keresése/javítása; debugger = ezt segítő eszközkészlet/segédprogram).

Másoljuk be a következő kódot egy új projekt main.c-jébe:

#include <stdio.h>
 
main() {
  int a=5; int b=6; int c = 7;
  int *bb;
  int *aa = &a;
  bb = &b;
  a = 3;
  aa = bb;
  *aa = 8;
  aa = &c;
  *aa = 10;
  *bb = *aa;
}

A hibakeresés egyik fontos eszköze hogy a program futását bárhol megállíthassuk és "ránézhessünk" a változók pillanatnyi értékére. A program persze túl gyorsan fut ahhoz hogy futás közben megnyomjunk egy "pause" gombot, ezért előre meg kell adni azokat a helyeket (sorokat) ahol szeretnénk hogy megálljon a futás. Ezek az ún. "töréspontok" (breakpoint). Állítsunk be töréspontokat a kód melett balra a sorszámokat is tartalmazó csíkra (a sor-szám mellé kicsit jobbra) kattintva! Piros pöttyöknek kell megjelenniük a kattintás helyén. Ezek a pöttyök jelzik a töréspontokat. Egy következő kattintás kitörli a töréspontot.

A programot ne úgy futtassuk mint eddig (Build menü -> Run), hanem a "Debug" menüpont alatti "Start/Continue debugger" -rel. A kerek kék "play-gombbal" ugorhatunk a következő töréspontra, a kapcsoszárójeles-zöldnyilas gombokkal pedig sorról sorra haladhatunk akkor is ha nincs ott töréspont, illetve bemehetünk egy függvényhívás belsejébe, vagy a visszatérése utáni állapotra ugorhatunk.

Futtassuk le lépésről lépésre (szinte minden sorban legyen töréspont) a programot és figyeljük meg a változók értékeinek változását ( a lenti "Locals" fül alatt fognak látszani)!

Személyes eszközök