diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c index d167406e0407..d2beb2379204 100644 --- a/mono/mini/debugger-agent.c +++ b/mono/mini/debugger-agent.c @@ -2717,11 +2717,13 @@ debugger_interrupt_critical (MonoThreadInfo *info, gpointer user_data) MonoJitInfo *ji; data->valid_info = TRUE; - ji = mono_jit_info_table_find_internal ( - (MonoDomain *)mono_thread_info_get_suspend_state (info)->unwind_data [MONO_UNWIND_DATA_DOMAIN], - MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx), - TRUE, - TRUE); + MonoDomain *domain = (MonoDomain *) mono_thread_info_get_suspend_state (info)->unwind_data [MONO_UNWIND_DATA_DOMAIN]; + if (!domain) { + /* not attached */ + ji = NULL; + } else { + ji = mono_jit_info_table_find_internal ( domain, MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx), TRUE, TRUE); + } /* This is signal safe */ thread_interrupt (data->tls, info, ji);