X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fdebug-mini.h;h=698656ecab03bd992f7a60d902fcaab9ad8ab1b8;hb=5135630b6d61627fe437c52150cf3138f34d3b18;hp=e916b0249c77d9eb07ede0229abade6afe8e1c32;hpb=da1d4e3d734790d76dfd2907c17256b79f41b560;p=mono.git diff --git a/mono/mini/debug-mini.h b/mono/mini/debug-mini.h index e916b0249c7..698656ecab0 100644 --- a/mono/mini/debug-mini.h +++ b/mono/mini/debug-mini.h @@ -4,11 +4,47 @@ #include #include -MonoDebugMethodAddressList * -mono_debugger_insert_method_breakpoint (MonoMethod *method, guint64 idx); +#include "mini.h" -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, 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); + +/* + * 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.