Merge pull request #2793 from mrdudz/fixdbg

fix debugger
This commit is contained in:
Bob Andrews
2025-07-12 17:00:45 +02:00
committed by GitHub
4 changed files with 50 additions and 4 deletions

View File

@@ -369,9 +369,14 @@ function.
<sect1><tt/dbg.h/<label id="dbg.h"><p> <sect1><tt/dbg.h/<label id="dbg.h"><p>
<!-- <itemize> --> <itemize>
<!-- <item><ref id="DbgInit" name="DbgInit"> --> <item><ref id="DbgInit" name="DbgInit">
<!-- </itemize> --> <!-- <item><ref id="BREAK" name="BREAK"> -->
<!-- <item><ref id="DbgDisAsm" name="DbgDisAsm"> -->
<!-- <item><ref id="DbgDisAsmLen" name="DbgDisAsmLen"> -->
<!-- <item><ref id="DbgIsRAM" name="DbgIsRAM"> -->
<!-- <item><ref id="DbgMemDump" name="DbgMemDump"> -->
</itemize>
(incomplete) (incomplete)
@@ -3472,6 +3477,24 @@ used in presence of a prototype.
</quote> </quote>
<sect1>DbgInit<label id="DbgInit"><p>
<quote>
<descrip>
<tag/Function/Initialize the debugger.
<tag/Header/<tt/<ref id="dbg.h" name="dbg.h">/
<tag/Declaration/<tt/void __fastcall__ DbgInit (unsigned unused);/
<tag/Description/<tt/DbgInit/ initializes the debugger.
<tag/Notes/<itemize>
<item>Use 0 as parameter.
<item>The debugger will popup on next brk encountered.
</itemize>
<tag/Availability/cc65
<tag/Example/None.
</descrip>
</quote>
<sect1>decompress_lz4<label id="decompress_lz4"><p> <sect1>decompress_lz4<label id="decompress_lz4"><p>
<quote> <quote>

View File

@@ -332,7 +332,7 @@ BreakPoint DbgBreaks [MAX_USERBREAKS+2];
BreakPoint* DbgGetBreakSlot (void); BreakPoint* DbgGetBreakSlot (void);
/* Search for a free breakpoint slot. Return a pointer to the slot or 0 */ /* Search for a free breakpoint slot. Return a pointer to the slot or 0 */
BreakPoint* DbgIsBreak (unsigned Addr); BreakPoint* __cdecl__ DbgIsBreak (unsigned Addr);
/* Check if there is a user breakpoint at the given address, if so, return /* Check if there is a user breakpoint at the given address, if so, return
** a pointer to the slot, else return 0. ** a pointer to the slot, else return 0.
*/ */

View File

@@ -193,6 +193,7 @@ EXELIST_agat = \
EXELIST_apple2 = \ EXELIST_apple2 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
diodemo \ diodemo \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
@@ -212,6 +213,7 @@ EXELIST_apple2enh = $(EXELIST_apple2)
EXELIST_atari = \ EXELIST_atari = \
ascii \ ascii \
checkversion \ checkversion \
debug \
gunzip65 \ gunzip65 \
hello \ hello \
mandelbrot \ mandelbrot \
@@ -250,6 +252,7 @@ EXELIST_bbc = \
EXELIST_c64 = \ EXELIST_c64 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -275,6 +278,7 @@ EXELIST_c65 = \
EXELIST_c128 = \ EXELIST_c128 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -289,6 +293,7 @@ EXELIST_c128 = \
EXELIST_c16 = \ EXELIST_c16 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
tinyshell \ tinyshell \
hello \ hello \
@@ -297,6 +302,7 @@ EXELIST_c16 = \
EXELIST_cbm510 = \ EXELIST_cbm510 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -309,6 +315,7 @@ EXELIST_cbm510 = \
EXELIST_cbm610 = \ EXELIST_cbm610 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -323,6 +330,7 @@ EXELIST_creativision = \
EXELIST_cx16 = \ EXELIST_cx16 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -371,6 +379,7 @@ EXELIST_pce = \
EXELIST_pet = \ EXELIST_pet = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
hello \ hello \
joydemo \ joydemo \
@@ -380,6 +389,7 @@ EXELIST_pet = \
EXELIST_plus4 = \ EXELIST_plus4 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
gunzip65 \ gunzip65 \
hello \ hello \
@@ -421,6 +431,7 @@ EXELIST_telestrat = \
EXELIST_vic20 = \ EXELIST_vic20 = \
ascii \ ascii \
checkversion \ checkversion \
debug \
enumdevdir \ enumdevdir \
hello \ hello \
joydemo \ joydemo \

12
samples/debug.c Normal file
View File

@@ -0,0 +1,12 @@
#include <dbg.h>
int main(void)
{
/* DbgInit has to be called once, to install the BRK handler */
DbgInit(0);
/* now to break into the debugger, use the BREAK macro */
BREAK();
return 0;
}