3 * Types for the debugger state machine and wire protocol
6 * Alexander Kyte (alkyte@microsoft.com)
8 * (C) 2018 Microsoft, Inc.
11 #ifndef __MONO_DEBUGGER_STATE_MACHINE__
12 #define __MONO_DEBUGGER_STATE_MACHINE__
16 #include <mono/metadata/metadata.h>
17 #include <mono/utils/mono-threads-debug.h>
18 #include <mono/utils/json.h>
19 #include "debugger-agent.h"
22 MONO_DEBUGGER_STARTED
= 0,
23 MONO_DEBUGGER_RESUMED
= 1,
24 MONO_DEBUGGER_SUSPENDED
= 2,
25 MONO_DEBUGGER_TERMINATED
= 3,
26 } MonoDebuggerThreadState
;
29 mono_debugger_log_init (void);
32 mono_debugger_log_free (void);
35 mono_debugger_log_exit (int exit_code
);
38 mono_debugger_log_add_bp (gpointer key
, MonoMethod
*method
, long il_offset
);
41 mono_debugger_log_remove_bp (gpointer key
, MonoMethod
*method
, long il_offset
);
44 mono_debugger_log_command (const char *command_set
, const char *command
, guint8
*buf
, int len
);
47 mono_debugger_log_event (DebuggerTlsData
*tls
, const char *event
, guint8
*buf
, int len
);
50 mono_debugger_log_bp_hit (DebuggerTlsData
*tls
, MonoMethod
*method
, long il_offset
);
53 mono_debugger_log_resume (DebuggerTlsData
*tls
);
56 mono_debugger_log_suspend (DebuggerTlsData
*tls
);
59 #define DEBUGGER_STATE_MACHINE_DEBUG(level, ...)
61 #define DEBUGGER_STATE_MACHINE_DEBUG(level, ...) g_async_safe_printf(__VA_ARGS__)
65 mono_debugger_state (JsonWriter
*writer
);
68 mono_debugger_state_str (void);
70 #endif // __MONO_DEBUGGER_STATE_MACHINE__