Commit ccac8a45 authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

mscoree: Enable crash chaining in Mono.

This allows winedbg to handle crashes and print native stack traces, after Mono has attempted to print a managed stack trace. Signed-off-by: 's avatarVincent Povirk <vincent@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent f34fd257
......@@ -100,6 +100,7 @@ MonoType* (CDECL *mono_reflection_type_from_name)(char *name, MonoImage *image);
MonoObject* (CDECL *mono_runtime_invoke)(MonoMethod *method, void *obj, void **params, MonoObject **exc);
void (CDECL *mono_runtime_object_init)(MonoObject *this_obj);
void (CDECL *mono_runtime_quit)(void);
static void (CDECL *mono_set_crash_chaining)(BOOL chain_signals);
static void (CDECL *mono_set_dirs)(const char *assembly_dir, const char *config_dir);
static void (CDECL *mono_set_verbose_level)(DWORD level);
MonoString* (CDECL *mono_string_new)(MonoDomain *domain, const char *str);
......@@ -126,6 +127,10 @@ static MonoImage* CDECL image_open_module_handle_dummy(HMODULE module_handle,
return mono_image_open(fname, status);
}
static void CDECL set_crash_chaining_dummy(BOOL crash_chaining)
{
}
static void CDECL set_print_handler_dummy(MonoPrintCallback callback)
{
}
......@@ -217,6 +222,7 @@ static HRESULT load_mono(LPCWSTR mono_path)
} while (0);
LOAD_OPT_MONO_FUNCTION(mono_image_open_from_module_handle, image_open_module_handle_dummy);
LOAD_OPT_MONO_FUNCTION(mono_set_crash_chaining, set_crash_chaining_dummy);
LOAD_OPT_MONO_FUNCTION(mono_trace_set_print_handler, set_print_handler_dummy);
LOAD_OPT_MONO_FUNCTION(mono_trace_set_printerr_handler, set_print_handler_dummy);
......@@ -224,6 +230,8 @@ static HRESULT load_mono(LPCWSTR mono_path)
mono_profiler_install(NULL, mono_shutdown_callback_fn);
mono_set_crash_chaining(TRUE);
mono_trace_set_print_handler(mono_print_handler_fn);
mono_trace_set_printerr_handler(mono_print_handler_fn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment