*/
MonoDebuggerInfo MONO_DEBUGGER__debugger_info = {
MONO_DEBUGGER_MAGIC,
- MONO_DEBUGGER_VERSION,
+ MONO_DEBUGGER_MAJOR_VERSION,
+ MONO_DEBUGGER_MINOR_VERSION,
+ 0, /* dummy */
sizeof (MonoDebuggerInfo),
sizeof (MonoSymbolTable),
MONO_TRAMPOLINE_NUM,
&mono_debugger_event_handler,
debugger_event_handler,
- &_mono_debug_using_mono_debugger
+ &_mono_debug_using_mono_debugger,
+ (gint32*)&_mono_debugger_interruption_request
};
static guint64
return -1;
mono_class_init (klass);
+ mono_class_setup_methods (klass);
return (gint64) (gssize) klass;
}
mono_debugger_lock ();
klass = mono_debugger_register_class_init_callback (image, class_name, token, index);
- if (!klass) {
+ if (!klass || !klass->inited || !klass->methods) {
mono_debugger_unlock ();
return 0;
}
method = nm;
}
- info = mono_debugger_insert_method_breakpoint (method, index);
+ info = mono_debug_lookup_method_addresses (method);
mono_debugger_unlock ();
return (guint64) (gsize) info;
}
{
mono_debugger_lock ();
mono_debugger_remove_method_breakpoint (index);
+ mono_debugger_remove_class_init_callback (index);
mono_debugger_unlock ();
}
gc_thread_vtable = &debugger_thread_vtable;
}
+#if 0
+
static void
debugger_finalize_threads (void)
{
gc_thread_vtable = NULL;
}
+#endif
+
static guint64
debugger_init_code_buffer (void)
{