Support viewing registers by group
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 331
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
Registers can be grouped into several groups, e.g., general purpose, floating point, etc. We should read these info from the backend and offer to view registers by group.
We should probably default to show full-width general purpose registers, which is the most common set of registers people wish to see. Related to #221.
Currently, LLDB backend supports reading the register group info through its C++ API. Things are complicated for DbgEng. Although it internally understands different register groups, and function like IDebugRegisters2::OutputRegisters2 supports printing a particular set of registers, there seems to be no API to read the group attribution of a particular register. In other words, we may not be able to read the register group information from the DbgEng backend.
We may hard-code the register group info into the debugger code to avoid doing more work. Both LLDB/DbgEng register group info are pretty stable and unlikely to change.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the debugger's register-viewing path and reviewing how the LLDB backend exposes register groups through its C++ API. Compare that with DbgEng's IDebugRegisters2::OutputRegisters2 behavior and its lack of group-attribution access. Done means users can view registers by group, with full-width general-purpose registers as the default, while both backends have a defined handling strategy.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools, reverse-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100