debugger: symlist usability + symbol table extensibility #13694
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This addresses issue #6655 (symlist command usability), plus adds a bit of plumbing for future extensibility.
Symlist command usability
The distinction between global and CPU symbols is unclear to most who don't read the source, so this makes
symlist
more natural:symlist
with no arguments displays all global and :maincpu symbols, with clear header text for each list. At the bottom, prints helper text to make user aware of the cpu formsymlist <cpu>
works as it has before, only displays symbols for specified CPUSymbol table extensibility
This pr includes some changes in anticipation of features that add new kinds of symbol tables. Example: the source-level debugging pr (#13444) adds symbol tables for local and global variables that appear in the debugged source code. The following were originally part of the source-level debugging PR, so merging this will shrink that PR somewhat.
Sample session
A CoCo with Speech-Sound cartridge (thus, two valid CPUs).