-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add an ETW event for reporting richer debug information back (#71263)
This adds some richer debug information in the form of inline trees and IL<->native mappings with inlinee information, plus an ETW event in the private runtime provider to report it back. A COMPlus variable is used to opt-in to generating and storing this larger debug information. On the JIT side, we now store a few more fields of data for each inline context in release builds: * Its ordinal which is required to be incrementally assigned * The actual IL offset of the IL instruction leading to the creation of the inline context * The method handle of the inlinee On the EE side we store the new debug information together with the normal debug info, reusing the flag byte used for patchpoint information. The hope is that the new richer format of debug info can eventually replace the old one, but this won't happen in .NET 7 as I expect it will take some time to come up with the right format for this data and the right set of fields to expose. In the meantime this environment variable and event/debugging APIs are mainly to be used as an opt-in way to start incrementally prototyping on the tooling side without needing special checked builds of the runtime/JIT.
- Loading branch information
1 parent
641ef68
commit 527f1d1
Showing
39 changed files
with
1,065 additions
and
296 deletions.
There are no files selected for viewing
This file contains 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 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 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 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 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 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 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 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 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 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.