Merge pull request #637 from LogosBible/enetdown
[mono.git] / mono / mini / debug-mini.h
index af4ca1e5438192215998a8fe07a477108ef0ff40..b46d75ba4ff4c41134d24df8c375627a76ea1af0 100644 (file)
@@ -4,8 +4,50 @@
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/mono-debug-debugger.h>
 
-void            mono_debugger_insert_method_breakpoint    (MonoMethod *method, guint64 idx);
-int             mono_debugger_remove_method_breakpoint    (guint64 index);
+#include "mini.h"
+
+typedef struct _MonoDebuggerThreadInfo MonoDebuggerThreadInfo;
+extern MonoDebuggerThreadInfo *mono_debugger_thread_table;
+
+void
+mono_debugger_thread_created (gsize tid, MonoThread *thread, MonoJitTlsData *jit_tls, gpointer func);
+
+void
+mono_debugger_thread_cleanup (MonoJitTlsData *jit_tls);
+
+void
+mono_debugger_extended_notification (MonoDebuggerEvent event, guint64 data, guint64 arg);
+
+void
+mono_debugger_trampoline_compiled (const guint8 *trampoline, 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);
+
+gboolean
+mono_debugger_abort_runtime_invoke (void);
+
+/*
+ * 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.