1 #ifndef __DEBUG_MINI_H__
2 #define __DEBUG_MINI_H__
4 #include <mono/metadata/class-internals.h>
5 #include <mono/metadata/mono-debug-debugger.h>
9 typedef struct _MonoDebuggerThreadInfo MonoDebuggerThreadInfo;
10 extern MonoDebuggerThreadInfo *mono_debugger_thread_table;
13 mono_debugger_thread_created (gsize tid, MonoThread *thread, MonoJitTlsData *jit_tls, gpointer func);
16 mono_debugger_thread_cleanup (MonoJitTlsData *jit_tls);
19 mono_debugger_extended_notification (MonoDebuggerEvent event, guint64 data, guint64 arg);
22 mono_debugger_trampoline_compiled (MonoMethod *method, const guint8 *code);
25 mono_debugger_call_exception_handler (gpointer addr, gpointer stack, MonoObject *exc);
28 mono_debugger_handle_exception (MonoContext *ctx, MonoObject *obj);
31 mono_debugger_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **exc);
34 * Internal exception API.
38 MONO_DEBUGGER_EXCEPTION_ACTION_NONE = 0,
39 MONO_DEBUGGER_EXCEPTION_ACTION_STOP = 1,
40 MONO_DEBUGGER_EXCEPTION_ACTION_STOP_UNHANDLED = 2
41 } MonoDebuggerExceptionAction;
43 MonoDebuggerExceptionAction
44 _mono_debugger_throw_exception (gpointer addr, gpointer stack, MonoObject *exc);
47 _mono_debugger_unhandled_exception (gpointer addr, gpointer stack, MonoObject *exc);
50 * This is the old breakpoint interface.
51 * It isn't used by the debugger anymore, but still when using the `--break' command
55 int mono_debugger_insert_breakpoint_full (MonoMethodDesc *desc);
56 int mono_debugger_remove_breakpoint (int breakpoint_id);
57 void mono_debugger_breakpoint_callback (MonoMethod *method, guint32 idx);