Wade Brainerd
1 posts
Navigation suggestion
Edited by Wade Brainerd on Reason: Initial post

When getting started with RemedyBG, I find setting up a new debugging session to be bit tedious with finding source files and locating functions to set breakpoints in, compared to IDEs in which one has access to the full suite of navigation tools.

I was thinking today, my long-time favorite console debugger ProDG featured a nice "symbols-derived navigation" pane that RemedyBG would benefit from.

Once the EXE is loaded, .text symbols are resolved to source files, and the source files and functions are organized into a searchable navigation tree docked to the left side of the window. The tree goes something like:

- myapp
| - foo.c
| | - foo_init
| | - foo_dosomething
| - bar.c

The navigation pane enables quickly locating and navigating to source files and functions by name, as well as a handy overview of what symbols are present in the EXE.

In some cases disambiguation would be needed - for overloaded/static functions, identically-named source files in different paths, etc.

In a low level debugger, it might also be useful to have an option to include symbols without source (displayed under their module), for example to set breakpoints in ntdll functions using the disassembly view.
It might also be helpful to include advanced columns to show the size and address of the functions, and perhaps .data and .rodata navigation would be useful to target the memory view (ultimately turning it into a ".map file"-like view as a superset of code navigation).

A little Googling brought up this one blurry screenshot of ProDG, in case it's helpful:

Thanks for making RemedyBG,

265 posts / 1 project
Navigation suggestion
Very cool ideas Wade! Thanks for sharing them here.