2004-06-21 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Mon, 21 Jun 2004 18:43:21 +0000 (18:43 -0000)
committerMartin Baulig <martin@novell.com>
Mon, 21 Jun 2004 18:43:21 +0000 (18:43 -0000)
* mono-debug-debugger.c (mono_debugger_unhandled_exception):
Protect the exception object from being finalized.

svn path=/trunk/mono/; revision=30061

mono/metadata/ChangeLog
mono/metadata/mono-debug-debugger.c

index 30b556367ff5af853e6568f7d4bf0524d397f8b8..da1274fb7179b7c1078b11c17177c9d144ef386c 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-21  Martin Baulig  <martin@ximian.com>
+
+       * mono-debug-debugger.c (mono_debugger_unhandled_exception):
+       Protect the exception object from being finalized.
+
 2004-06-21  Martin Baulig  <martin@ximian.com>
 
        * mono-debug-debugger.h (mono_debugger_unhandled_exception): New
index fd8c82a00407f61a28e1bcd6c465075b6a4dfd6e..0678762a0a50bcefa0fde129849ed43abe001f34 100644 (file)
@@ -1,10 +1,12 @@
 #include <config.h>
 #include <stdlib.h>
 #include <string.h>
+#include <mono/metadata/assembly.h>
 #include <mono/metadata/metadata.h>
 #include <mono/metadata/tabledefs.h>
 #include <mono/metadata/tokentype.h>
 #include <mono/metadata/appdomain.h>
+#include <mono/metadata/gc-internal.h>
 #include <mono/metadata/object-internals.h>
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/exception.h>
@@ -1153,6 +1155,7 @@ mono_debugger_unhandled_exception (gpointer addr, MonoObject *exc)
        if (!mono_debugger_initialized)
                return FALSE;
 
+       ves_icall_System_GC_SuppressFinalize (exc);
        mono_debugger_event (MONO_DEBUGGER_EVENT_UNHANDLED_EXCEPTION, exc, addr);
        return TRUE;
 }