Repository navigation
v0.2.0 — typed analysis and object namespace
·
114 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
[dependencies]
dbgscope = "0.2.0"This release adds typed instruction analysis, kernel object namespace queries, breakpoint management and crash-event reads, and fixes live-target arrival and interrupt handling.
Highlights
- Decode x86/x64 operands, control flow, privilege requirements, effects, conditions and register writes from instruction bytes.
decode_rangedecodes a span from one memory read;effective_processor_type,function_extentandsymbol_forexpose the context needed to interpret it. ARM64 instruction semantics remain unsupported. - Resolve kernel object paths, list directories and read symbolic-link targets through the new
objectmodule. Partial listings distinguish unreadable entries from malformed ones, and callers can stop a walk withNamespace::halting. - Create, replace, enable and remove breakpoints through typed specifications, including data watchpoints and read-back of the watched region.
- Read exception events and stored dump contexts as values, and walk the recorded crash stack with
stack_frames_fromwithout changing the selected thread or scope. - Deliver live-target arrivals to the opener waiting for them, distinguish concurrent launches, scope interrupts to their operation, and invalidate saved contexts when the session is replaced. Launched console programs receive a console without opening a desktop window.
- Stop pool tag searches at a requested match threshold and report the partial result without caching it as complete.
Migration from 0.1
DebugEngineis no longerSendorSync. Create and use it on the same thread; useInterruptHandlefor interruption from another thread.- The public
Breakpointwrapper is removed. Useset_breakpoint,remove_breakpointandenable_breakpointwith breakpoint IDs. InstructionandBreakpointInfogain fields, and public enums gain variants. Update struct literals and exhaustive matches.
See the full changelog for detailed behavior and limitations.
Changes: v0.1.0...v0.2.0