2d865dc69b
Symbolic and non-symbolic stack traces had separate ToCString implementations with the same general structure, but those implementations diverged enough to cause issues in certain async stack modes. They are now merged, with the --dwarf-stack-traces-mode flag checked where appropriate within the merged method. Also, now non-symbolic stack traces do not include frames for Code with invisible Function owners unless the flag --show-invisible-frames is enabled. With this change, pkg/native_stack_traces no longer needs to guess at which frames corresponding to Dart code should be treated as internal. Tested by adding --dwarf-stack-traces version of the tests in runtime/tests/vm/dart/causal_stacks. Fixes https://github.com/dart-lang/sdk/issues/41578 Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try Change-Id: I41a887129616c88acd7729492addf7364d95df33 Bug: 41578 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143816 Commit-Queue: Tess Strickland <sstrickl@google.com> Reviewed-by: Clement Skau <cskau@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
1.4 KiB
1.4 KiB
Changelog
0.3.4
-
Decoded Dart calls are now never considered internal, only VM stub calls. This is due to a concurrent change in the Dart VM that no longer prints non-symbolic frames for functions considered invisible, which matches the symbolic frame printer and removes the need for the decoder to guess which frames should be hidden.
This package still works on earlier versions of Dart, so the dependencies have not changed. However, it may print more frame information than expected when decoding stack frames from a Dart VM that does not include this change to non-symbolic stack printing.
0.3.3
- No externally visible changes.
0.3.2
- The
findcommand can now look up addresses given as offsets from static symbols, not just hexadecimal virtual or absolute addresses. - Integer inputs (addresses or offsets) without an '0x' prefix or hexadecimal
digits will now be parsed as decimal unless the
-x/--force_hexadecimalflag is used.
0.3.1
- Uses dynamic symbol information embedded in stack frame lines when available.
0.3.0
- Adds handling of virtual addresses within stub code payloads.
0.2.2
- Finds instruction sections by the dynamic symbols the Dart VM creates instead of assuming there are two text sections.
0.2.1
- Added static method
Dwarf.fromBuffer.
0.2.0
- API and documentation cleanups
0.1.0
- Initial release