Releases: farre/midas
Release of 0.24.0
Changes since 0.18 (rather long list, the releases has not been published here as files between then and now):
The old implmentation that relied on GDB/MI and gdb-js has now been removed entirely. The extension now solely relies on it's custom DAP implementation that we let GDB source and spawn.
Features
- Added
ignoreStandardLibrary
to launch and attach configurations. It will attempt at ignoring most c++ standard library files while stepping. It's a best approximation approach. Defaults totrue
. - Extended support for the debugger backend "midas" which henceforth will be known as "midas-native"
- Added context menu support for call stack, to resume/pause all threads
- Make use of onActive item events so that the debugger backends can know what threads the user is inspecting in the UI
- Added continueAll
- Added pauseAll
- continueAll/pauseAll is used for gdb's allStopMode, or MDB.
- Deprecated allStopMode in launch.json; use noSingleThreadControl instead. It's a better name and will
be also what this feature eventually be called by MDB. - ${workspaceFolder} and built-ins in launch.json, should now work for all sorts of config field values
- Added new pretty printer features.
- Support for using the canonical experimental debugger
mdb
- Added prettier to dev dependencies. use
npm run format
to format - Added
(Return Value)
variable toLocals
, if the last command that executed wasstepOut
and it succeeded completely.
This way you can inspect return values from a function. - Added
LogPoint
breakpoints that logs to the debug console and continues. - Added run to event
- Midas now uses the output from
rr gdbinit
directly to increase stability so that if RR changes it, we don't break. - Added Checkpoint UI for RR sessions. The snapshot (camera icon) sets a checkpoint. And there will be a
Checkpoint
panel in the side bar during debugging from where the user can (re)start a checkpoint. - New DAP interpreter. This have introduced breaking changes to the configuration of Midas. Unless you're new, you should read the readme. This change is a substantial overhaul and is supposed to make Midas more stable and performant.
- Added
rrOptions
tolaunch.json
formidas-rr
debug sessions, which are command line options passed to RR. - Added ability to name checkpoints
Fixes
- Pretty printer-usage bug fix
- Fixed bug where frame arguments weren't displayed properly
- Fixed a bug where typedefs weren't recognized as the base type and as such wouldn't use pretty printers
- Fixed a bug where RR did not get spawned correctly, not being able to replay fork-without-execs.
- Fixes
when
, and other RR commands "crashing" Midas. - Fixes ##188 where Midas couldn't be started because RR was recording.
- Make checkpoints in UI clickable to go-to source where they're set
- Added connect timeout & remote timeout to 10000 for all attach
- Fix the Get RR bug where it did not fire if the Midas config file gets into an invalid state, possibly by aborting a build etc.
- Fixed bug that made
Add to watch
disappear for member objects in theVariables
list. You can now right click things
in the list and add sub objects toWatch
again. - Removed old Midas version that relied on GDB/MI and gdb-js. The exclusively supported variant is midas DAP implementation.
- Make validation of config happen after substition of variables like ${workspaceFolder} so that any configuration items can use the short-hands/built ins
- Refactors and cleaning up the inherent messiness of supporting what essentially is 3 backends; midas-native (mdb, future hopefully mdb+rr), midas-gdb (gdb) and midas-rr (gdb+rr).
- Added program args as a configuration item for launched program when
use-dap
is true, which seems to have been missing - Build RR related bugs fixed
- Pretty printer related issues fixed
- Fixes to UI to behave more consistent.
- Refactor of tool management, so that it can be extended to additional software like GDB as well (in the future) in-house debugger, caused Midas to ask every time for updates of tools even when having updated to last version. Fixed.
- Fixed hex-formatting bug for register values with the sign bit set.
- Greatly improved stability and reliability of disassembly outputs
- Fixed bug in InstructionBreakpoint requests
Bug fixes release 0.18.0
Bug fixes release
Accidentally messed up versioning, so we jumped from 0.14.0 to 0.18.0
Bug fixes & Features added
- Added toggle-hex formatting functionality (see "Hexadecimal format of watch variables" in USAGE.md)
- Added readMemory request - users can now use hex dump view of variables
- Fixed instruction-stepping during disassembly not working
- Fixed disassembly to work more reliably
- Fixed due to new implementation of a DAP-request
- Fixed RR reverse-continue bug
- Make step-back icon only display during RR session
v0.11.0 pre-release
Pre-release v0.11.0
Introduces rudimentary remote target support. See README.md on how to use.
v0.9.0 pre-release
This release makes sure prerequisite tools like cmake, python, unzip are installed (meaning, they can be found), so that Get rr
functionality doesn't just mysteriously fail.
Adds RR path to vscode session $PATH
Adds RR path to vscode session $PATH
Release of version 0.5.4
Fixes bug #139 as well as a non-related but "adjacent" bug.
Update to README includes minimal requirement for RR replay configurations.
Release of version 0.5.0
Added subscripting of watch variables that are pretty printed. If a type provides a pretty printer that has the children
method, getting a range of those values is now possible, so that you don't have to go looking for them manually.
Release of version 0.4.7
Fixed bug introduced for Attach debug sessions, once again MI being the reason.
Release of version 0.4.6
What's Changed
- Fix issue 134 by @theIDinside in #135
Added minor UI features requested by #134
Minor bug fixes.