[DO NOT MERGE] Experiment with RtlCaptureStackBackTrace
#552
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Experiment with
RtlCaptureStackBackTrace
as per #535. This is not intended to be merged. I'm leaving this here temporarily in case anyone wants to use it to experiment further.The great thing about
RtlCaptureStackBackTrace
is that it doesn't require symbol loading and simply works across architectures without much fuss. This decouples symbol loading from tracing and allows a more lightweight way of storing backtrace information if you don't mind looking up the symbols later. The big downside is that it only gets theip
. Also I'm seeing off-by-one line numbers intests\accuracy
. Probably because of the more limited info.RtlVirtualUnwind
has the same advantages asRtlCaptureStackBackTrace
and also provide all the information you need (symbols aside). However, it is much more involved and it isn't supported by x86. Still, it might be a better direction to go in.