-
Notifications
You must be signed in to change notification settings - Fork 5k
[cDAC] Stack walk support more Frame types #112997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
a213ec2
thread context fetching
8f2b7e7
iterate and debug print Frames
6f2f4ab
add more functionality needed for stack walking
0259f83
implement R2R unwind info fetching
cd8854c
stackwalking on amd64
17e34fd
AMD64 stack unwinding impl
22a3c9a
Merge branch 'cdac-stackwalk' of github.com:max-charlamb/runtime into…
5d9317a
crossplatform LazyMachState fixes
2a1e410
add support for building arm64 and amd64 unwinders
da73082
add GetPlatform
a794374
AMD64/ARM64 stackwalking backend
3d22034
AMD64 stackwalking through SOS
18e63a3
clean up PR
25f25c2
Merge remote-tracking branch 'origin/main' into cdac-stackwalk
831fb14
fix issues caused by merge from origin/main
4f97647
remove unused datatype
721042c
only build native unwinders on windows amd64
2887c4c
change cmakelists order
1df3093
remove eventing_header dependency for cdac_unwinders
3696838
fix loading cDAC on non-windows platforms
373f9ef
use unused variable
max-charlamb 5edb98d
move to testhost for library tests
1d1beda
Merge branch 'cdac-stackwalk' of github.com:max-charlamb/runtime into…
a1703a0
don't build cDAC in Libraries_WithPackages run
71d5590
isolate context datastructures from logic
fb4109c
clean up
4fc3f22
address easy to fix feedback
bfb63ee
move frame down casting logic to FrameIterator
1961e4d
wip improve documentation
ce13fdc
typo
1d3799e
Merge remote-tracking branch 'origin/main' into cdac-stackwalk
4e40652
use FrameIdentifier instead of VPtr
af93b5d
docs wip
0d2c3d9
improve docs
82e9ece
be more consistent when referring to Windows "style" unwinding/context
333a932
refactor unwinder CMakeLists.txt
bcdf2e4
move UNWINDER_ASSERT define into base unwinder
d3fdf0b
refactor unwinder to use same InstructionBuffer for DAC/cDAC
a246775
prefix class members with m_
90fd607
implement cDAC native unwinder assertions through refactor using thre…
93a8345
clean up diff
746f584
use MSTypes
bd41361
make comment inclusive of cDAC
da0425a
convert to use IEnumerable<IStackDataFrameHandle>
c7ad322
Merge remote-tracking branch 'origin/main' into cdac-stackwalk
bf1743b
rework docs to better explain skipped Frame check
33e8d01
clean up commits
ab7f4a7
Merge remote-tracking branch 'origin/main' into cdac-frame-support
62b85f0
add docs
8b66ec2
fix merge issue
a7fad07
clean up
5b2c76a
support resumable frames
17244c8
Support FaultingExceptionFrames
ab01d2a
use datadescriptors to determine CalleeSavedRegisters
8e64866
support HijackFrames
f553874
fix datadescriptors
7c6be2d
fix CalleeSavedRegisters on non-amd64
f55ba4e
remove debugging helpers
207d2ad
improve safety of context reflection
d94d325
fix small comments
a5dbba7
fix ARM64 inlinedcallframe
b234b77
frameIterator Next fix
604ad50
rework platform frame handlers to share common code
e19df81
do not throw on unknown Frame type
a95a851
add docs for each type of supported Frame
0b118dc
doc typo
d6c5a5b
fix unwinder for some scenarios
05c390d
address comments
55c4cf6
remove broken unwinder checks
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a bunch of architecture specific goo that isn't just data reading in the files like AMD64FrameHandler.cs and ARM64FrameHandler.cs. That all needs to be documented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added docs on each type of Frame Context updating mechanism and their platform specific details.