Skip to content

The RAD Debugger v0.9.11-alpha

Compare
Choose a tag to compare
@ryanfleury ryanfleury released this 27 Jun 01:43
· 821 commits to master since this release

This release includes several major improvements and upgrades to many significant systems in the debugger.

Features & Improvements

  • The RDI format has been majorly simplified and expanded to support inline information. This information is now parsed and produced by the PDB -> RDI converter. (#214)
  • The debugger UI has been extended to display inline information, including inline frames, and mapping addresses to inline line information. (#214)
  • Major improvements to OutputDebugString performance.
  • Major improvements to conditional breakpoint performance. (#265)
  • A new Settings view has been added to replace the old Theme view. This view still allows the editing of the theme, but also editing other settings, including the enabling/disabling of animation or visualization features, and the number of spaces a tab should render as.
  • The source code view now displays tab characters correctly, rather than just as a single space. The number of columns that tabs occupy can be configured in the new Settings view.
  • Profile files have been renamed to project files, to avoid confusion.
  • User files now keep track of a history of recently opened projects. A new command, Open Recent Project, has been added to easily select amongst these.
  • Source code tabs are now serialized as being tagged with their associated project file. Only source code tabs associated with the active project file will be visible. This improves the flow of switching between projects often.
  • Extended the source and Disassembly views to have two margins, one for the selected thread, and one for all other threads, watch pins, and breakpoints. This eliminates some visual noise, and makes it easier to distinguish a selected thread from other threads.
  • Introduced UI to perform both mouse-driven completion and cancellation of a query.
  • Local variables in the Locals view are now sorted in the order they are stored in debug info. In the future, more sorting options will be available. (#257)
  • The menu bar is now less idiosyncratic, in that it supports traditional Windows-style click + drag (across several in-menu-bar buttons) behavior.
  • The theme colors have been adjusted to be more explicit, have fewer overloaded meanings, and to be more useful for a variety of themes.
  • The visuals of several interfaces in the debugger have been cleaned up and simplified.
  • Icons are no longer rendered with font hinting and only horizontal anti-aliasing enabled. This should make them appear much smoother.
  • The query string for Find Text Forward (Ctrl + F by default) is now auto-filled by whatever string was last selected in a source or disassembly view.
  • Improved the behavior of color pickers to correctly retain the original color if Escape is pressed during a drag.

Fixes

  • Fixed confusing rules regarding rolling back a thread, after it hits an int3 which is baked into the instruction stream. (#223)
  • Fixed a UI bug which disallowed the creation of new user and project files.
  • Fixed some issues in the renderer prohibiting the debugger from being used on Windows 7 systems.
  • Fixed some issues in the operating system layer prohibiting the debugger from being built on Windows 7 systems.
  • Fixed annoying scroll-on-drag behavior in the source, Output, Memory, and Disassembly views, which would scroll the view when the mouse was still within the visible region.
  • Fixed incorrectly-reported exceptions when stepping through code simultaneously executed by many threads.
  • Fixed several major stepping bugs, manifesting sometimes as a program exiting immediately after stepping, or as a program continuing execution after stepping, as if F5 was pressed.
  • Fixed function breakpoints working incorrectly after they had been hit more than once.
  • Fixed Ctrl + Scrolling not correctly resizing source code, if the empty region after a source code file's contents was hovered.
  • Fixed non-deterministic RDI generation, due to incorrect asynchronous task dispatch in the PDB -> RDI converter.