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/json.h>
18 #include "debugger-agent.h"
21 MONO_DEBUGGER_STARTED
= 0,
22 MONO_DEBUGGER_RESUMED
= 1,
23 MONO_DEBUGGER_SUSPENDED
= 2,
24 MONO_DEBUGGER_TERMINATED
= 3,
25 } MonoDebuggerThreadState
;
28 mono_debugger_log_init (void);
31 mono_debugger_log_free (void);
34 mono_debugger_log_exit (int exit_code
);
37 mono_debugger_log_add_bp (gpointer key
, MonoMethod
*method
, long il_offset
);
40 mono_debugger_log_remove_bp (gpointer key
, MonoMethod
*method
, long il_offset
);
43 mono_debugger_log_command (const char *command_set
, const char *command
, guint8
*buf
, int len
);
46 mono_debugger_log_event (DebuggerTlsData
*tls
, const char *event
, guint8
*buf
, int len
);
49 mono_debugger_log_bp_hit (DebuggerTlsData
*tls
, MonoMethod
*method
, long il_offset
);
52 mono_debugger_log_resume (DebuggerTlsData
*tls
);
55 mono_debugger_log_suspend (DebuggerTlsData
*tls
);
58 #define DEBUGGER_STATE_MACHINE_DEBUG(level, ...)
60 #define DEBUGGER_STATE_MACHINE_DEBUG(level, ...) g_async_safe_printf(__VA_ARGS__)
64 mono_debugger_state (JsonWriter
*writer
);
67 mono_debugger_state_str (void);
69 #endif // __MONO_DEBUGGER_STATE_MACHINE__