typedef struct MonoDebugMethodInfo MonoDebugMethodInfo;
typedef struct MonoDebugMethodJitInfo MonoDebugMethodJitInfo;
typedef struct MonoDebugVarInfo MonoDebugVarInfo;
+typedef struct MonoDebugLineNumberEntry MonoDebugLineNumberEntry;
typedef struct MonoDebugRangeInfo MonoDebugRangeInfo;
typedef struct MonoDebugTypeInfo MonoDebugTypeInfo;
guint32 line_number_table_size;
guint32 local_variable_table_offset;
guint32 local_variable_table_size;
+ guint32 source_file_table_offset;
+ guint32 source_file_table_size;
+ guint32 source_file_count;
guint32 type_count;
guint32 type_index_table_offset;
guint32 type_index_table_size;
struct MonoSymbolFileMethodAddress {
guint32 size;
- guint64 start_address;
- guint64 end_address;
- guint32 line_table_offset;
+ const guint8 *start_address;
+ const guint8 *end_address;
+ const guint8 *method_start_address;
+ const guint8 *method_end_address;
guint32 variable_table_offset;
guint32 type_table_offset;
+ guint32 num_line_numbers;
+ guint32 line_number_size;
+ MonoDebugLineNumberEntry *line_numbers;
guint8 data [MONO_ZERO_LEN_ARRAY];
};
MonoSymbolFile *symfile;
guint32 file_offset;
guint32 num_il_offsets;
+ guint32 start_line;
+ guint32 end_line;
MonoSymbolFileLineNumberEntry *il_offsets;
MonoDebugMethodJitInfo *jit;
gpointer user_data;
};
+struct MonoDebugLineNumberEntry {
+ guint32 line;
+ guint32 offset;
+ guint32 address;
+};
+
struct MonoDebugMethodJitInfo {
const guint8 *code_start;
guint32 code_size;
guint32 prologue_end;
guint32 epilogue_begin;
- guint32 *il_addresses;
+ // Array of MonoDebugLineNumberEntry
+ GArray *line_numbers;
guint32 num_params;
MonoDebugVarInfo *this_var;
MonoDebugVarInfo *params;
};
struct MonoDebugRangeInfo {
- guint64 start_address;
- guint64 end_address;
+ const guint8 *start_address;
+ const guint8 *end_address;
guint32 file_offset;
gpointer dynamic_data;
guint32 dynamic_size;
MonoSymbolFilePriv *_priv;
};
-#define MONO_SYMBOL_FILE_VERSION 26
+#define MONO_SYMBOL_FILE_VERSION 28
#define MONO_SYMBOL_FILE_MAGIC 0x45e82623fd7fa614
-#define MONO_SYMBOL_FILE_DYNAMIC_VERSION 6
+#define MONO_SYMBOL_FILE_DYNAMIC_VERSION 14
#define MONO_SYMBOL_FILE_DYNAMIC_MAGIC 0x7aff65af4253d427
MonoSymbolFile *