True source level debugging allows you to debug code using source (Basic, C, Pascal, etc.) statements or the generated ASM statements. It should display both types of code side-by-side and allow easy switching between windows. More importantly, a good debugger should have the following features:
a. debugging in hardware - not simulation.
b. single stepping through code (source or ASM).
c. step into, step over, step out of routines.
d. ability to set multiple hardware breakpoints - code stops on breakpoints.
e. conditional breakpoints using expressions, eg. stop when x>100 and y=0.
f. ability to control how hardware operates in a breakpoint, eg. should a timer continue running or stop.
g. ability to examine and/or change every SFR and memory location.
h. ability to watch memory location in real-time with hardware running (watchpoints).
i. ability to do automatic cycle counting.
Bookmarks