- Updated gimli to 0.28
- Updated Addr2line to 0.21
- Updated to probe-rs 0.20
- Fixed bug where the abstract origin didn't get handled
- Volatile and const types can now be traced (relevant for C)
- Update to trace 0.3.0
- Move to env-logger for better logging
- Breaking: TraceError is now non-exhaustive and has more variants
- Update to Addr2line 0.20.0
- Now works with more debug info situations. (I think a recent LLVM update might have changed some things where
DebugInfoRef
s are now generated instead of theUnitRef
s before)
- Breaking: Capturing no longer takes a critical section. I'm now convinced this is not necessary.
- Breaking: Update to probe-rs 0.18
- Update to probe-rs 0.18
- Update to clap 4
- Breaking: Updated to gimli 0.27.2
- Updated dependencies
- The length of the iterators for
MemoryRegion
andRegisterData
always returned the original value. Now they return how many elements are left.
- The byte iterators for
MemoryRegion
andRegisterData
now implementExactSizeIterator
.
- Updated to probe-rs 0.13
- Updated to probe-rs 0.13
- Implemented th RequiresMemory location step
- Fixed an issue where objects were sometimes rendered with white text instead of the correct color
- Fixed an issue where stack unwinding would think it reached the end too soon
- Added back in newlines for variable printouts
- Can now do the RequiresEntryValue step
- Breaking: Updated to Core 0.2.0
- Added colorized output, which can be specified with the
-t
option - Added the ability to capture and trace from a running device using probe-rs
- Created an adaptor for letting a probe-rs core be used as MemoryRegion
- Added functions to capture the registers via probe-rs
- Breaking: Big refactor to make the type decoding and value reading be structured instead of it all being strings
- Breaking: Tracing has been made crossplatform with an implementation for Cortex-M
- Breaking: Added new archetype:
typedef
- Added reading capability for tagged unions (fancy Rust enums)
- Added color theme system for outputs
- Made it so that transparent types can be added to lessen the clutter in the trace
- Object member pointers (objects with the
DW_AT_containing_type
attribute) are now detected an not displayed by default. This hides all of the vtables. - Subroutines now display a
_
instead of anUnknown
error - Strings longer than 64kb are no longer read to improve performance
- Breaking: Simplified the MemoryRegion trait and made it fallible
- Breaking: Simplified the RegisterData trait
- Breaking: DeviceMemory now takes a
'memory
lifetime so that not all data has to be owned - Breaking: The FromIterator impl taking
&u8
has been removed leaving only one impl that takesu8
. Just pass an iterator with.copied()
to it.
- Changed the function signature of the capture function. It now takes references to existing register data collections instead of returning new ones to improve ergonomics.
- Fixed the CLI where it used
show_inlined_variables
instead ofshow_zero_sized_variables
- Added a couple more tags to ignore when searching for static variables
- Static variables are now also traced
- Extra CLI option
-l
for capping how many times lines can wrap. This is useful for when tracing contains e.g. a long array type - Added
SliceMemoryRegion
that can act as a memory region, but always borrows all its data. This is useful for when the region can't be owned, but is not referenced anywhere else
- Improved the docs a tiny bit. This release is mainly done because docs.rs failed to build the crates due to an outage.
- Initial release