#include <mono/metadata/image.h>
#include <mono/metadata/appdomain.h>
+MONO_BEGIN_DECLS
+
typedef struct _MonoSymbolTable MonoSymbolTable;
typedef struct _MonoDebugDataTable MonoDebugDataTable;
MonoDebugVarInfo *params;
uint32_t num_locals;
MonoDebugVarInfo *locals;
+ MonoDebugVarInfo *gsharedvt_info_var;
+ MonoDebugVarInfo *gsharedvt_locals_var;
};
struct _MonoDebugMethodAddressList {
/* The variable is dead. */
#define MONO_DEBUG_VAR_ADDRESS_MODE_DEAD 0x30000000
+/* Same as REGOFFSET, but do an indirection */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_REGOFFSET_INDIR 0x40000000
+
+/* gsharedvt local */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_GSHAREDVT_LOCAL 0x50000000
+
struct _MonoDebugVarInfo {
uint32_t index;
uint32_t offset;
};
#define MONO_DEBUGGER_MAJOR_VERSION 81
-#define MONO_DEBUGGER_MINOR_VERSION 5
+#define MONO_DEBUGGER_MINOR_VERSION 6
#define MONO_DEBUGGER_MAGIC 0x7aff65af4253d427ULL
extern MonoSymbolTable *mono_symbol_table;
MonoDebugMethodAddress *
mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDomain *domain);
+void
+mono_debug_remove_method (MonoMethod *method, MonoDomain *domain);
+
MonoDebugMethodInfo *
mono_debug_lookup_method (MonoMethod *method);
void mono_set_is_debugger_attached (mono_bool attached);
mono_bool mono_is_debugger_attached (void);
+MONO_END_DECLS
+
#endif /* __MONO_DEBUG_H__ */