svn path=/trunk/mono/; revision=139311
[mono.git] / mono / mini / debug-mini.h
index 8beb085f4bc64b825a9a59b35f96f30da2310d34..5c245e69082d033044212bb563cded3109a54052 100644 (file)
@@ -6,17 +6,11 @@
 
 #include "mini.h"
 
-MonoDebugMethodAddressList *
-mono_debugger_insert_method_breakpoint (MonoMethod *method, guint64 idx);
-
-int
-mono_debugger_remove_method_breakpoint (guint64 index);
-
 typedef struct _MonoDebuggerThreadInfo MonoDebuggerThreadInfo;
 extern MonoDebuggerThreadInfo *mono_debugger_thread_table;
 
 void
-mono_debugger_thread_created (gsize tid, MonoThread *thread, MonoJitTlsData *jit_tls);
+mono_debugger_thread_created (gsize tid, MonoThread *thread, MonoJitTlsData *jit_tls, gpointer func);
 
 void
 mono_debugger_thread_cleanup (MonoJitTlsData *jit_tls);
@@ -27,6 +21,31 @@ mono_debugger_extended_notification (MonoDebuggerEvent event, guint64 data, guin
 void
 mono_debugger_trampoline_compiled (MonoMethod *method, const guint8 *code);
 
+void
+mono_debugger_call_exception_handler (gpointer addr, gpointer stack, MonoObject *exc);
+
+gboolean
+mono_debugger_handle_exception (MonoContext *ctx, MonoObject *obj);
+
+MonoObject *
+mono_debugger_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **exc);
+
+/*
+ * Internal exception API.
+ */
+
+typedef enum {
+       MONO_DEBUGGER_EXCEPTION_ACTION_NONE             = 0,
+       MONO_DEBUGGER_EXCEPTION_ACTION_STOP             = 1,
+       MONO_DEBUGGER_EXCEPTION_ACTION_STOP_UNHANDLED   = 2
+} MonoDebuggerExceptionAction;
+
+MonoDebuggerExceptionAction
+_mono_debugger_throw_exception (gpointer addr, gpointer stack, MonoObject *exc);
+
+gboolean
+_mono_debugger_unhandled_exception (gpointer addr, gpointer stack, MonoObject *exc);
+
 /*
  * This is the old breakpoint interface.
  * It isn't used by the debugger anymore, but still when using the `--break' command