Merge pull request #2015 from alexrp/profiler-roots-v2
[mono.git] / mono / mini / debugger-agent.h
index 3502037e58248b48ca01c9c0bfbda6791e1c824c..6a64df5a5b382f3642e3f2a338bbb292f9455c93 100644 (file)
@@ -3,31 +3,51 @@
 
 #include "mini.h"
 
-/* IL offsets used to mark the sequence points belonging to method entry/exit events */
-#define METHOD_ENTRY_IL_OFFSET -1
-#define METHOD_EXIT_IL_OFFSET 0xffffff
+MONO_API void
+mono_debugger_agent_parse_options (char *options);
 
 void
-mono_debugger_agent_parse_options (char *options) MONO_INTERNAL;
+mono_debugger_agent_init (void);
 
 void
-mono_debugger_agent_init (void) MONO_INTERNAL;
+mono_debugger_agent_breakpoint_hit (void *sigctx);
 
 void
-mono_debugger_agent_breakpoint_hit (void *sigctx) MONO_INTERNAL;
+mono_debugger_agent_single_step_event (void *sigctx);
 
 void
-mono_debugger_agent_single_step_event (void *sigctx) MONO_INTERNAL;
+debugger_agent_single_step_from_context (MonoContext *ctx);
 
 void
-mono_debugger_agent_free_domain_info (MonoDomain *domain) MONO_INTERNAL;
+debugger_agent_breakpoint_from_context (MonoContext *ctx);
 
-gboolean mono_debugger_agent_thread_interrupt (void *sigctx, MonoJitInfo *ji) MONO_INTERNAL;
+void
+mono_debugger_agent_free_domain_info (MonoDomain *domain);
+
+#if defined(PLATFORM_ANDROID) || defined(TARGET_ANDROID)
+void
+mono_debugger_agent_unhandled_exception (MonoException *exc);
+#endif
+
+void
+mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *throw_ctx, MonoContext *catch_ctx);
 
 void
-mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *ctx) MONO_INTERNAL;
+mono_debugger_agent_begin_exception_filter (MonoException *exc, MonoContext *ctx, MonoContext *orig_ctx);
 
 void
-mono_debugger_agent_handle_unhandled_exception (MonoException *ext, MonoContext *ctx) MONO_INTERNAL;
+mono_debugger_agent_end_exception_filter (MonoException *exc, MonoContext *ctx, MonoContext *orig_ctx);
+
+void
+mono_debugger_agent_user_break (void);
+
+void
+mono_debugger_agent_debug_log (int level, MonoString *category, MonoString *message);
+
+gboolean
+mono_debugger_agent_debug_log_is_enabled (void);
+
+MONO_API gboolean
+mono_debugger_agent_transport_handshake (void);
 
 #endif