Many, if not most, microcontrollers (but for the very
tiny ones) have
some sort of on-chip (e.g. JTAG) debugging facility. Given that
everything else is on-chip, why would you want to monitor the
internal bus signals, even if you could?
I thought I'd explained that, maybe not.
Wehn my newly-built miocrocontroller system doesn't work (notice I did
not sai 'if' :-)), I want to debug it. If I can connect a logic analyser
to the address liens of the program store, I can trace the program and
compare it with what I think it should be doing. And hopefully find the
bug (or alternatively find that the microotroller is defective, which is
unlikely).
I didn't find debugging PIC code particularly pleasant. I was using all
the I/O lines in the system, so I couldn't (sensilhly) output a value on
some port pins when the progrma got to a particular point. In any case,
you go mad continually re-assembling the code with different points
'marked' in this way.
-tony