The RAD Debugger v0.9.8-alpha
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
andFunction Breakpoint
commands. - New
Types
,Procedures
,Globals
, andThread Locals
views. These are automatically-filledWatch
-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
andWatch
-style views. - Cache line and padding visualization in
Watch
andWatch
-style views. - Fuzzy filtering support for
Watch
,Locals
,Registers
,Breakpoints
,Watch Pins
,Targets
,Scheduler
,Modules
, andException Filters
views. The fuzzy filtering may be applied identically to the aforementionedTypes
/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 syntaxx = expr
, in all otherWatch
rows, the whenx
occurs in the expression, its evaluation will be equivalent to that ofexpr
.x
must always be some identifier (that does not collide with any local variables, global variables, or types), andexpr
can be any valid expression. - Direct visualization of failed memory reads in
Watch
andWatch
-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 theCREATE_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.