2003-01-04 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Sat, 4 Jan 2003 04:21:05 +0000 (04:21 -0000)
committerMartin Baulig <martin@novell.com>
Sat, 4 Jan 2003 04:21:05 +0000 (04:21 -0000)
* debug.c (release_symbol_file_table): Only call this if we're
actually modifying the symbol tables.
(mono_debug_open): Always set the `mono_debugger_class_init_func'
for MONO_DEBUG_FORMAT_MONO; this stuff should also go into core dumps.

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

mono/jit/ChangeLog
mono/jit/debug.c

index 67ade4b65681e867a4d872074652495dd488d6e5..fa840729214c557b1a0b06178cec890a662e70a6 100644 (file)
@@ -1,3 +1,10 @@
+2003-01-04  Martin Baulig  <martin@ximian.com>
+
+       * debug.c (release_symbol_file_table): Only call this if we're
+       actually modifying the symbol tables.
+       (mono_debug_open): Always set the `mono_debugger_class_init_func'
+       for MONO_DEBUG_FORMAT_MONO; this stuff should also go into core dumps.
+
 2003-01-03  Martin Baulig  <martin@ximian.com>
 
        * debug.c: Disable the mono debugger stuff on Windows.
index dd1fa919a6ca49d1e35deaf9451832cae530caea..e04b3387cec43d558517e70c47b0c8655a1f6003 100644 (file)
@@ -46,6 +46,7 @@ static gboolean debugger_signalled = FALSE;
 static gboolean must_send_finished = FALSE;
 #endif
 
+extern void (*mono_debugger_class_init_func) (MonoClass *klass);
 
 static guint64 debugger_insert_breakpoint (guint64 method_argument, const gchar *string_argument);
 static guint64 debugger_remove_breakpoint (guint64 breakpoint);
@@ -225,6 +226,8 @@ mono_debug_open (MonoAssembly *assembly, MonoDebugFormat format, const char **ar
                                continue;
                        }
                } else {
+                       mono_debugger_class_init_func = mono_debug_add_type;
+
                        if (!strcmp (arg, "internal_mono_debugger")) {
                                debug->flags |= MONO_DEBUG_FLAGS_MONO_DEBUGGER;
                                initialize_debugger_support ();
@@ -309,6 +312,8 @@ mono_debug_open (MonoAssembly *assembly, MonoDebugFormat format, const char **ar
        mono_debug_add_type (mono_defaults.serializationinfo_class);
        mono_debug_add_type (mono_defaults.streamingcontext_class);
 
+       debugger_update_symbol_file_table ();
+
        mono_debugger_unlock ();
 
        return debug;
@@ -807,8 +812,6 @@ mono_debug_write_symbols (MonoDebugHandle *debug)
 void
 mono_debug_make_symbols (void)
 {
-       release_symbol_file_table ();
-
        if (!mono_debug_handle || !mono_debug_handle->dirty)
                return;
        
@@ -1299,8 +1302,6 @@ debugger_update_symbol_file_table (void)
        return TRUE;
 }
 
-extern void (*mono_debugger_class_init_func) (MonoClass *klass);
-
 static gboolean has_mono_debugger_support = FALSE;
 
 #ifndef PLATFORM_WIN32
@@ -1376,8 +1377,6 @@ initialize_debugger_support ()
                return;
        has_mono_debugger_support = TRUE;
 
-       mono_debugger_class_init_func = mono_debug_add_type;
-
        ptr = buf = g_malloc0 (16);
        x86_breakpoint (buf);
        debugger_notification_address = buf;