3 #include <mono/metadata/class.h>
4 #include <mono/metadata/debug-symfile.h>
5 #include <mono/jit/codegen.h>
6 #include <mono/jit/debug.h>
8 #include "debug-private.h"
11 MonoDebugSymbolFile *symfile;
12 } AssemblyDebugInfoPrivate;
15 mono_debug_open_assembly_dwarf2_plus (AssemblyDebugInfo *info)
17 AssemblyDebugInfoPrivate *priv = g_new0 (AssemblyDebugInfoPrivate, 1);
19 priv->symfile = mono_debug_open_symbol_file (info->image, info->filename, TRUE);
25 mono_debug_close_assembly_dwarf2_plus (AssemblyDebugInfo *info)
27 AssemblyDebugInfoPrivate *priv = info->_priv;
30 mono_debug_close_symbol_file (priv->symfile);
35 static MonoDebugMethodInfo *
36 method_info_func (MonoDebugSymbolFile *symfile, guint32 token, gpointer user_data)
38 AssemblyDebugInfo *info = user_data;
40 DebugMethodInfo *minfo;
42 method = g_hash_table_lookup (info->image->method_cache, GINT_TO_POINTER (token));
46 minfo = g_hash_table_lookup (info->methods, method);
48 return (MonoDebugMethodInfo *) minfo;
52 mono_debug_write_assembly_dwarf2_plus (AssemblyDebugInfo *info)
54 AssemblyDebugInfoPrivate *priv = info->_priv;
57 mono_debug_update_symbol_file (priv->symfile, method_info_func, info);