#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);
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