Vector35 / Vector35/debugger

Support viewing registers by group

Open
#230 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Effort: Medium enhancement Impact: Low register
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.