Skip to content

The RAD Debugger v0.9.8-alpha

Compare
Choose a tag to compare
@ryanfleury ryanfleury released this 06 Feb 23:42
· 1433 commits to master since this release

This release includes the following improvements and fixes:

  • New fuzzy-filtered, debug-info-driven procedure name list interface, used for the Go To Name and Function Breakpoint commands.
  • New Types, Procedures, Globals, and Thread Locals views. These are automatically-filled Watch-style views that display all known types, procedures, globals, and thread-locals (respectively) in the selected module's (determined via the selected thread) debug information. These support fuzzy filtering, to filter down their generally large contents. Fuzzy filtering can be applied by typing in any of these views, or by explicitly running the "Filter" command.
  • Extended type evaluation support in Watch and Watch-style views.
  • Cache line and padding visualization in Watch and Watch-style views.
  • Fuzzy filtering support for Watch, Locals, Registers, Breakpoints, Watch Pins, Targets, Scheduler, Modules, and Exception Filters views. The fuzzy filtering may be applied identically to the aforementioned Types/Procedures/etc. views.
  • Partial callstack information visualization per-thread in the Scheduler view. This callstack information can also be filtered against, providing more convenient searching/sorting through threads, even when they're unnamed.
  • Support for "macros" in the Watch view. These allow the assignment of expressions to a label. Given the syntax x = expr, in all other Watch rows, the when x occurs in the expression, its evaluation will be equivalent to that of expr. x must always be some identifier (that does not collide with any local variables, global variables, or types), and expr can be any valid expression.
  • Direct visualization of failed memory reads in Watch and Watch-like views.
  • Better support for line information and stepping in programs generated with the /JMC MSVC option. (#36)
  • Fixed a number of cases in which the debugger UI was updating repeatedly when unnecessary. (#125)
  • Fixed the debugger's interpretation of thread naming events that were sent to name threads other than the thread which generated the event. (#127)
  • Fixed the debugger's usage of thread naming events when the debugger had not yet been fully notified of the associated thread's creation. This is mostly associated with the creation via CreateThread and subsequent naming of threads with the CREATE_SUSPENDED flag. (#127)
  • Improved the debugger's strategy for locating target entry points in various circumstances, including with executables that were not linked with the C runtime, and those that specify a custom entry point. (#61, #120)
  • Many other small tweaks, fixes, and improvements.