HyperLink


Bejelentkezés
E-mail: 
Jelszó: 






Skip Navigation Links
 

Hibakeresés, a memória tartalmának megtekintésével


Példaprogram letöltése

8687 bájt

Létrehozunk egy rekord típust:
TSample=record
    a: array[0..7] of char;
    b: integer;
    c: boolean;
end;
Ezek után létrehozunk egy olyan algoritmust, melynek segítségével számtalan fenti rekord típust lehet eltárolni. Minden egyes létrehozásnál dinamikusan foglalunk az aktuális rekord számára memóriát és ekkor töltjük fel tetszőleges értékekkel.

A programfejlesztés folyamán felmerülhet a kérdés, hogy a lefoglalt memória terület valóban azt az értéket kapja-e amit szántunk neki.

Ennek ellenőrzésére szükségünk lenne egy olyan eszközre, mellyel a program lépésenkénti futtatásakor (debug) megtekinthetjük a számítógépünk memóriájának tetszőleges területén a tartalmát.

Nos a Delphi képes erre...

A megoldás kulcsa a CPU Window. Ez a kis segéd ablak segít a fenti feladatban. A Delphi 3-as verziójában is létezik, de ott még el van "rejtve". Ahhoz hogy előcsaljuk a Windows regisztrációs adatbázisában a HKEY_CURRENT_USER\SOFTWARE\Borland\Delphi\3.0\Debugging címen hozzunk létre egy EnableCPU bejegyzést és adjuk értékül neki 1-et. Mindezt megtehetjük úgy is, hogy a mellékelt Delphi3.reg állományra rákattintunk. Erre a lépésre csak a Delphi 3 esetében van szükség, mivel újabb verziók már tartalmazzák a CPU Window ablakot.


A program kipróbálásához helyezzünk töréspontot a forráskód 71. sorára:

FillChar(p^, SizeOf(TSample), 0);

Futtassuk a programot és kattintsunk a hozzáadás gombra. Ekkor a fenti sornál megáll a program futása. Most nézzük meg a p változó értékét, ez valami $BC6FD8, vagy hasonló érték lehet. Mivel ez a változó most pontosan arra a memória területre mutat, ahová az új rekordot tárolni szeretnénk, így nekünk is ezt kellene megtekinteni.

Hívjuk elő a CPUWindow nevű ablakot. Ez a Delphi verzióitól függően eltérő helyen lehet. Általában a View - Debug Windows - CPU menüpont alatt, illetve a Ctrl + Alt + C billentyűkkel találhatjuk meg. Delphi 3-ban a View - CPU Window menüpont alatt.

Ha megvan az ablak, akkor a bal alsó sarkán lévő területen kattintsunk jobb gombbal és válasszuk a Goto Address menüpontot. A megjelenő ablakba írjuk be az előzőleg meghatározott címet, pl.: $BC6FD8. Ok után láthatóvá válik a kérdéses memória terület.

Ha most tovább futtatjuk lépesenként a programot, akkor figyelemmel követhetjük, hogy miként változik a memória tartalma az egyes műveletek elvégzése során és egyúttal ellenőrizhetjük, hogy minden a helyére kerül-e, úgy ahogy azt elterveztük.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2000 évkönyv 72. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2010 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |