- static void (*output_debug) (gunichar2 *);
- static gboolean tried_loading = FALSE;
-
- MONO_ARCH_SAVE_REGS;
-
- if (!tried_loading && output_debug == NULL) {
- GModule *k32;
-
- tried_loading = TRUE;
- k32 = g_module_open ("kernel32", G_MODULE_BIND_LAZY);
- if (!k32) {
- gchar *error = g_strdup (g_module_error ());
- g_warning ("Failed to load kernel32.dll: %s\n", error);
- g_free (error);
- return;
- }
-
- g_module_symbol (k32, "OutputDebugStringW", (gpointer *) &output_debug);
- if (!output_debug) {
- gchar *error = g_strdup (g_module_error ());
- g_warning ("Failed to load OutputDebugStringW: %s\n", error);
- g_free (error);
- return;
- }
- }
-
- if (output_debug == NULL)
- return;
-
- output_debug (mono_string_chars (message));