Fix DumpAsync to understand ContinuationWrapper (dotnet/coreclr#22913)
authorStephen Toub <stoub@microsoft.com>
Thu, 28 Feb 2019 21:44:26 +0000 (16:44 -0500)
committerGitHub <noreply@github.com>
Thu, 28 Feb 2019 21:44:26 +0000 (16:44 -0500)
commit8b138c0ac65643eb83db1ce4c29aea89e7268a6c
tree1295395e8f46ee362203c614866dde43679066f4
parent39cde5beba54099e656312f1c0532df68fb4078d
Fix DumpAsync to understand ContinuationWrapper (dotnet/coreclr#22913)

Continuations created while the debugger is attached or certain EventSource events are enabled end up getting wrapped in an extra ContinuationWrapper object that carries some additional information.  DumpAsync currently isn't unwrapping these but should.  This just teaches it to look for a known field name so that it can "see through" these wrappers while following async "stacks".

Commit migrated from https://github.com/dotnet/coreclr/commit/3a0367c75a9b5cebbcc2f2c9609aa05536ed921b
src/coreclr/src/ToolBox/SOS/Strike/strike.cpp
src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilder.cs