0.9.0
Major changes:
- Deallocation backtraces are now gathered by default; you can use the
MEMORY_PROFILER_GRAB_BACKTRACES_ON_FREEenvironment variable to turn this off - Deallocation backtraces are now shown in the GUI for each allocation
- Allocations can now be filtered according to where exactly they were deallocated
- Allocations can now be filtered according to whether the last allocation in their realloc chain was leaked or not
- Profiling of executables larger than 4GB is now supported
- Profiling of executables using unprefixed jemalloc is now supported
- New scripting APIs:
AllocationList::only_matching_deallocation_backtracesAllocationList::only_not_matching_deallocation_backtracesAllocationList::only_position_in_chain_at_leastAllocationList::only_position_in_chain_at_mostAllocationList::only_chain_leaked
- The
serversubcommand of the CLI should now use less memory when loading large data files - The behavior of
malloc_usable_sizewhen called with aNULLargument now matches glibc - At minimum Rust 1.62 is now required to build the crates; older versions might still work, but will not be supported
- The way the profiler is initialized was reworked; this should increase compatibility and might fix some of the crashes seen when trying to profile certain programs