Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit ac3196e

Browse files
jkotasstephentoub
authored andcommitted
Don't optimize away Task code needed for debugger (#17786)
This prevents the IL linker from optimizing away some properties/methods related to tasks that are used by a debugger but are not referenced anywhere else in coreclr. This specifically fixes async callstack frames for the xplat C# debugger.
1 parent df62491 commit ac3196e

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/mscorlib/ILLinkTrim.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<type fullname="System.Threading.Tasks.Task">
1010
<property name="ParentForDebugger" />
1111
<property name="StateFlagsForDebugger" />
12+
<method name="GetDelegateContinuationsForDebugger" />
1213
</type>
1314
<type fullname="System.Threading.ThreadPool">
1415
<method name="GetQueuedWorkItemsForDebugger" />
@@ -19,6 +20,15 @@
1920
<method name="GetScheduledTasksForDebugger" />
2021
<method name="GetTaskSchedulersForDebugger" />
2122
</type>
23+
<type fullname="System.Runtime.CompilerServices.AsyncMethodBuilderCore">
24+
<method name="TryGetStateMachineForDebugger" />
25+
</type>
26+
<type fullname="System.Runtime.CompilerServices.AsyncVoidMethodBuilder">
27+
<property name="ObjectIdForDebugger" />
28+
</type>
29+
<type fullname="System.Runtime.CompilerServices.AsyncTaskMethodBuilder*">
30+
<property name="ObjectIdForDebugger" />
31+
</type>
2232
<type fullname="System.Threading.Tasks.Task">
2333
<!-- Methods is used by VS Tasks Window. -->
2434
<method name="GetActiveTaskFromId" />

0 commit comments

Comments
 (0)