215 posts / 1 project


3 months, 3 weeks ago Edited by x13pixels on Jan. 1, 2021, 2:12 a.m. Reason: Initial post
Latest version of RemedyBG,, is now available for download. Highlights include improved keyboard support, persistent fold state (expand/collapse) across runs, and an upgrade to Dear ImGui's Tables API.

New features
* Register window will now show changes to registers in red
* Watch expression folded state (expanded / collapsed) is now preserved across runs.
* Border highlight is now drawn for the current focused window. Can be disabled in Window > Style >
Show Focus Window.
* Esc key can be used to transition between windows. If disassembly window is in focus, then Esc
returns focus to topmost text window. Otherwise, returns focus to either disassembly or text
window, whichever one was in focus last.
* Keyboard bindings to focus on disassembly, breakpoints, callstack, memory, watch, output,
registers, threads, and modules windows.
* Keyboard binding for adding a processor breakpoint, Ctrl+P
* Multi-select, copy-paste
* Ctrl+Up, Ctrl+Down can be used to alter the order of watch expressions in the watch window
* Ctrl+Up, Ctrl+Down can be used to change the current frame of execution in the callstack window

* Upgraded to latest available Dear ImGui 'docking' branch with rework of many window to use newer
Tables API.
* Removed some unnecessary, EFLAGS registers (e.g., Virtual-8086 mode)
* OS created thread for calling ntdll's DbgUiRemoteBreakin no longer shown
* Now only text windows are considered when using Ctrl+Tab
* Rearranged breakpoint menu to make it less likely to accidentally click on "Delete All
* Swapped order of text in the title bar from "RemedyBG - /session-name/" -> "/session-name/ -
* Removed struct, union, enum, class keywords from type displayed in watch window
* Excludes OS created thread used to call ntdll's DbgUiRemoteBreakin from internal list of threads.
* Rename "Watch" -> "Watch 1" and "Memory" -> "Memory 1"
* Improved some formatting of watch values containing string previews

Bug fixes
* Fixed zero-termination of binary literals
* Fixed state issues when displaying multiple watch windows
* No longer notify client about breakpoint hit on a suspend thread (which can happen due to async
nature of SuspendThread implementation)
* Fixed potential crash due to cache module used by threads (thanks D3zmodos)

Note that due to the upgrade of Dear ImGui, older INI files will no longer work. This means the recent files and any UI settings will be lost. You could open the older imgui.ini file in %APPDATA%/remedybg, grab the RemedyBG sections, and copy them into imgui180.ini but I have not tried this.

Also note that the EXE is now sitting a bit fat at just over 5 MiB. That's what happens over the Holidays, folks. Note that this glutton of bits will soon be addressed.