Uživatelské nástroje

Nástroje pro tento web


lnxspectrum:breakpoints

Debugger - Breakpoints

V Debuggeru je možné použít několik druhů breakpointů při různých událostech. Základní druhy breakpointů:

Register - zastaví procesor při změně obsahu registru. Nejčastější využití bude zřejmně zastavení CPU, když PC registr dosáhne určité adresy. Hlídání registru může být nastaveno na libovolný registr, 8mibitový, i 16tibitový, hlídání obsahu registru může být nastaveno na konkrétní hodnotu, nebo na rozsah hodnot. Například můžeme nastavit breakpoint - zastavit CPU, pokud registr H bude obsahovat hodnotu mezi 128-142.

Memory - zastaví procesor, pokud dojde k události s pamětí. Nejprve určíme, zda se událost týká jen zápisu do paměťové buňky, nebo jen čtení z paměťové buňky, nebo obojí. Dále nastavíme rozsah adres, které se má tato událost týkat. Volitelně můžeme nastavit jaký rozsah hodnot hlídáme. Například můžeme nastavit breakpoint: zastavit CPU, pokud dojde k zápisu do paměti v rozsahu 16384-18431, a ať k zastavení dojde jen v případě, pokud zapisované hodnoty jsou v rozsahu 1-255.

Port - zastaví procesor, pokud dojde ke čtení (IN) nebo k zápisu (OUT) do portu. Nastavíme který port chceme hlídat, případně masku portu, a pokud vyžadujeme určitý rozsah hodnot, nastavíme i rozsah. Například můžeme nastavit breakpoint: zastavit CPU, pokud dojde k pokusu o přestránkování paměti ve ZX Spectrum 128 (port 7FFD), tedy zápisu na port 253 s maskou 127. Mimo těchto zakladních můžeme ještě aktivovat IRQ breakpoint, ten zastaví CPU když dojde k vyvolání přerušení.

lnxspectrum/breakpoints.txt · Poslední úprava: 2018/07/31 10:05 (upraveno mimo DokuWiki)