diff options
author | Zoltan Varga <vargaz@gmail.com> | 2016-11-10 05:53:48 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2016-11-10 05:59:41 +0300 |
commit | 6094da8d8e2ceb9753a430e0d58c8cedd7399e82 (patch) | |
tree | 0305e47aed47c65046d72aee235ff416e875c9d1 | |
parent | f42685a7efdf14aeb61c73cb15801d706c93b189 (diff) |
[sdb] Avoid asserting when trying to single step on a thread with no managed frames. Fixes #34802.mono-4.8.0.322
-rw-r--r-- | mono/mini/debugger-agent.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c index 0a708d48229..747cc484fae 100644 --- a/mono/mini/debugger-agent.c +++ b/mono/mini/debugger-agent.c @@ -5398,7 +5398,10 @@ ss_create (MonoInternalThread *thread, StepSize size, StepDepth depth, StepFilte tls = (DebuggerTlsData *)mono_g_hash_table_lookup (thread_to_tls, thread); mono_loader_unlock (); g_assert (tls); - g_assert (tls->context.valid); + if (!tls->context.valid) { + DEBUG_PRINTF (1, "Received a single step request on a thread with no managed frames."); + return ERR_INVALID_ARGUMENT; + } if (tls->restore_state.valid && MONO_CONTEXT_GET_IP (&tls->context.ctx) != MONO_CONTEXT_GET_IP (&tls->restore_state.ctx)) { /* |