Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
[mono.git] / mono / mini / debugger-agent.h
1 #ifndef __MONO_DEBUGGER_AGENT_H__
2 #define __MONO_DEBUGGER_AGENT_H__
3
4 #include "mini.h"
5
6 /* IL offsets used to mark the sequence points belonging to method entry/exit events */
7 #define METHOD_ENTRY_IL_OFFSET -1
8 #define METHOD_EXIT_IL_OFFSET 0xffffff
9
10 void
11 mono_debugger_agent_parse_options (char *options) MONO_INTERNAL;
12
13 void
14 mono_debugger_agent_init (void) MONO_INTERNAL;
15
16 void
17 mono_debugger_agent_breakpoint_hit (void *sigctx) MONO_INTERNAL;
18
19 void
20 mono_debugger_agent_single_step_event (void *sigctx) MONO_INTERNAL;
21
22 void
23 debugger_agent_single_step_from_context (MonoContext *ctx) MONO_INTERNAL;
24
25 void
26 debugger_agent_breakpoint_from_context (MonoContext *ctx) MONO_INTERNAL;
27
28 void
29 mono_debugger_agent_free_domain_info (MonoDomain *domain) MONO_INTERNAL;
30
31 gboolean mono_debugger_agent_thread_interrupt (void *sigctx, MonoJitInfo *ji) MONO_INTERNAL;
32
33 #ifdef PLATFORM_ANDROID
34 void
35 mono_debugger_agent_unhandled_exception (MonoException *exc);
36 #endif
37
38 void
39 mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *throw_ctx, MonoContext *catch_ctx) MONO_INTERNAL;
40
41 void
42 mono_debugger_agent_begin_exception_filter (MonoException *exc, MonoContext *ctx, MonoContext *orig_ctx) MONO_INTERNAL;
43
44 void
45 mono_debugger_agent_end_exception_filter (MonoException *exc, MonoContext *ctx, MonoContext *orig_ctx) MONO_INTERNAL;
46
47 void
48 mono_debugger_agent_user_break (void) MONO_INTERNAL;
49
50 void
51 mono_debugger_agent_debug_log (int level, MonoString *category, MonoString *message) MONO_INTERNAL;
52
53 gboolean
54 mono_debugger_agent_debug_log_is_enabled (void) MONO_INTERNAL;
55
56 gboolean
57 mono_debugger_agent_transport_handshake (void) MONO_INTERNAL;
58
59 #endif