cs01 / cs01/gdbgui

Debugging ARM code shows instructions incorrectly

Open
#264 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
10.4k
Forks
521
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
I was just giving it a shot on ARM (remote debugging) and noticed a few things. The height of the rows for in the register view make it so that you can only see about 15 registers at once. Could that be scaled back/down? Also, the instructions shown in the debug window are a bit munged together.

The first instruction shown in the screenshot is `msr x0, ttbr0_el3`. But what is shown in the gdbgui window is `mrstx0, ttbr0_el3`. It's thrown together the mrs and the x0 while also putting a random t in the mix.

**To Reproduce**
Debug baremetal/kernel ARM code. The instruction display issue might be present on any ARM code, but certainly the use of MSRs (as shown) is not.

**Screenshots**
https://imgur.com/a/wU9I4PZ

**Please complete the following information:**
* OS: OSX
* gdbgui version (`gdbgui -v`): 0.13.1.1
* gdb version (`gdb -v`): 8.2.1
* browser [e.g. chrome, safari]: Chrome
* python packages (`pip freeze`):

Contributor guide

Open the contributing guide

Research direction

Reproduce the ARM remote-debugging case using the register view and debug window described in the issue, then trace the UI entry points that render register rows and disassemble instructions. Done means the register view shows more than about 15 registers at once and ARM instructions such as `msr x0, ttbr0_el3` retain their correct spacing and text.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
devtools, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.