Fix some small memory leaks.
[mono.git] / mono / metadata / mono-debug-debugger.h
index 16046f58dce95d4d3b0740ea0214d1e345faee61..ed6efa072945478e099bcf7ad2a70db1f80a9f8d 100644 (file)
@@ -34,9 +34,20 @@ typedef enum {
        MONO_DEBUGGER_EVENT_LOAD_MODULE,
        MONO_DEBUGGER_EVENT_UNLOAD_MODULE,
        MONO_DEBUGGER_EVENT_DOMAIN_CREATE,
-       MONO_DEBUGGER_EVENT_DOMAIN_UNLOAD
+       MONO_DEBUGGER_EVENT_DOMAIN_UNLOAD,
+       MONO_DEBUGGER_EVENT_CLASS_INITIALIZED,
+       MONO_DEBUGGER_EVENT_INTERRUPTION_REQUEST,
+       MONO_DEBUGGER_EVENT_CREATE_APPDOMAIN,
+       MONO_DEBUGGER_EVENT_UNLOAD_APPDOMAIN,
+
+       /* Obsolete, only for backwards compatibility with older debugger versions */
+       MONO_DEBUGGER_EVENT_OLD_TRAMPOLINE              = 256,
+
+       MONO_DEBUGGER_EVENT_TRAMPOLINE                  = 512
 } MonoDebuggerEvent;
 
+extern volatile gint32 _mono_debugger_interruption_request;
+
 extern void (*mono_debugger_event_handler) (MonoDebuggerEvent event, guint64 data, guint64 arg);
 
 void            mono_debugger_initialize                    (gboolean use_debugger);
@@ -46,13 +57,38 @@ void            mono_debugger_lock                          (void);
 void            mono_debugger_unlock                        (void);
 void            mono_debugger_event                         (MonoDebuggerEvent event, guint64 data, guint64 arg);
 
-MonoObject     *mono_debugger_runtime_invoke                (MonoMethod *method, void *obj,
-                                                            void **params, MonoObject **exc);
-
 void *
 mono_vtable_get_static_field_data (MonoVTable *vt);
 
 gchar *
 mono_debugger_check_runtime_version (const char *filename);
 
+void
+mono_debugger_class_initialized (MonoClass *klass);
+
+void
+mono_debugger_check_interruption (void);
+
+void
+mono_debugger_event_create_appdomain (MonoDomain *domain, gchar *shadow_path);
+
+void
+mono_debugger_event_unload_appdomain (MonoDomain *domain);
+
+MonoDebugMethodAddressList *
+mono_debugger_insert_method_breakpoint (MonoMethod *method, guint64 idx);
+
+int
+mono_debugger_remove_method_breakpoint (guint64 index);
+
+void
+mono_debugger_check_breakpoints (MonoMethod *method, MonoDebugMethodAddress *debug_info);
+
+MonoClass *
+mono_debugger_register_class_init_callback (MonoImage *image, const gchar *full_name,
+                                           guint32 token, guint32 index);
+
+void
+mono_debugger_remove_class_init_callback (int index);
+
 #endif /* __MONO_DEBUG_DEBUGGER_H__ */