typedef struct _MonoDebugHandle MonoDebugHandle;
typedef struct _MonoDebugLineNumberEntry MonoDebugLineNumberEntry;
-typedef struct _MonoDebugLexicalBlockEntry MonoDebugLexicalBlockEntry;
typedef struct _MonoDebugVarInfo MonoDebugVarInfo;
typedef struct _MonoDebugMethodJitInfo MonoDebugMethodJitInfo;
MONO_DEBUG_FORMAT_DEBUGGER
} MonoDebugFormat;
-typedef enum {
- MONO_DEBUGGER_TYPE_KIND_UNKNOWN = 1,
- MONO_DEBUGGER_TYPE_KIND_FUNDAMENTAL,
- MONO_DEBUGGER_TYPE_KIND_STRING,
- MONO_DEBUGGER_TYPE_KIND_SZARRAY,
- MONO_DEBUGGER_TYPE_KIND_ARRAY,
- MONO_DEBUGGER_TYPE_KIND_POINTER,
- MONO_DEBUGGER_TYPE_KIND_ENUM,
- MONO_DEBUGGER_TYPE_KIND_OBJECT,
- MONO_DEBUGGER_TYPE_KIND_STRUCT,
- MONO_DEBUGGER_TYPE_KIND_CLASS,
- MONO_DEBUGGER_TYPE_KIND_CLASS_INFO,
- MONO_DEBUGGER_TYPE_KIND_REFERENCE
-} MonoDebuggerTypeKind;
-
/*
* NOTE:
* We intentionally do not use GList here since the debugger needs to know about
* Corlib and metadata info.
*/
MonoDebugHandle *corlib;
-
+ MonoDebugDataTable *global_data_table;
MonoDebugList *data_tables;
/*
const guint8 *wrapper_addr;
guint32 num_line_numbers;
MonoDebugLineNumberEntry *line_numbers;
- guint32 num_lexical_blocks;
- MonoDebugLexicalBlockEntry *lexical_blocks;
guint32 num_params;
MonoDebugVarInfo *this_var;
MonoDebugVarInfo *params;
/* The variable is in the two registers "offset" and "index". */
#define MONO_DEBUG_VAR_ADDRESS_MODE_TWO_REGISTERS 0x20000000
+/* The variable is dead. */
+#define MONO_DEBUG_VAR_ADDRESS_MODE_DEAD 0x30000000
+
struct _MonoDebugVarInfo {
guint32 index;
guint32 offset;
MonoType *type;
};
-#define MONO_DEBUGGER_VERSION 60
+#define MONO_DEBUGGER_MAJOR_VERSION 80
+#define MONO_DEBUGGER_MINOR_VERSION 0
#define MONO_DEBUGGER_MAGIC 0x7aff65af4253d427ULL
extern MonoSymbolTable *mono_symbol_table;
extern MonoDebugFormat mono_debug_format;
extern GHashTable *mono_debug_handles;
extern gint32 mono_debug_debugger_version;
+extern gint32 _mono_debug_using_mono_debugger;
void mono_debug_list_add (MonoDebugList **list, gconstpointer data);
void mono_debug_list_remove (MonoDebugList **list, gconstpointer data);
MonoDebugMethodJitInfo*
mono_debug_find_method (MonoMethod *method, MonoDomain *domain);
+void
+mono_debug_free_method_jit_info (MonoDebugMethodJitInfo *jit);
+
+
+void
+mono_debug_add_delegate_trampoline (gpointer code, int size);
+
+int
+mono_debug_lookup_locals (MonoMethod *method, char ***names, int **indexes);
+
/*
* Line number support.
*/