Use Frame list context when GetThreadContext is unavailable
authorEugene Zemtsov <e.zemtsov@gmail.com>
Fri, 7 Aug 2015 08:08:37 +0000 (01:08 -0700)
committerEugene Zemtsov <Eugene.Zemtsov@microsoft.com>
Tue, 15 Sep 2015 20:44:41 +0000 (13:44 -0700)
commiteb3260e67bc653b56a80fbf0e8a07d78e3a404c1
tree8240fc9a536cc0a1caaacadf293541813f4522eb
parent235d807ed6012590241a8e21433a257df7de264a
Use Frame list context when GetThreadContext is unavailable

When DAC tries to obtain thread context for debugee thread on the system without working GetThreadContext, it uses filter context
and if it is NULL, it goes through thread Frame list looking for a Frame that can provide meaningful CONTEXT to start the stackwalk.
Filter context can be NULL if the thread is currently running native code, or manage exception just has been thrown (first chance).
Before this change DBI stackwalker would fail to provide stack trace in such cases.
src/debug/daccess/dacdbiimpl.cpp
src/debug/di/shimremotedatatarget.cpp