1 #ifndef __MONO_JIT_DEBUG_PRIVATE_H__
2 #define __MONO_JIT_DEBUG_PRIVATE_H__
4 #include <mono/metadata/debug-symfile.h>
13 } DebugLineNumberInfo;
15 typedef struct _AssemblyDebugInfo AssemblyDebugInfo;
18 MONO_DEBUG_FLAGS_NONE = 0,
19 // Don't run the assembler.
20 MONO_DEBUG_FLAGS_DONT_ASSEMBLE = (1 << 1),
21 // Install the generated *.il files in the assembly dir.
22 MONO_DEBUG_FLAGS_INSTALL_IL_FILES = (1 << 2),
23 // Don't update the *.il files.
24 MONO_DEBUG_FLAGS_DONT_UPDATE_IL_FILES = (1 << 3),
25 // Don't create any new *.il files.
26 MONO_DEBUG_FLAGS_DONT_CREATE_IL_FILES = (1 << 4),
27 // Don't fallback to normal dwarf2.
28 MONO_DEBUG_FLAGS_DONT_FALLBACK = (1 << 5),
29 // Don't precompile image.
30 MONO_DEBUG_FLAGS_DONT_PRECOMPILE = (1 << 6),
31 // Update symbol file on exit.
32 MONO_DEBUG_FLAGS_UPDATE_ON_EXIT = (1 << 7)
36 MonoDebugMethodInfo method_info;
37 AssemblyDebugInfo *info;
40 guint32 method_number;
44 GPtrArray *line_numbers;
47 struct _AssemblyDebugInfo {
48 MonoDebugFormat format;
49 MonoDebugHandle *handle;
50 MonoDebugSymbolFile *symfile;
64 struct _MonoDebugHandle {
65 MonoDebugHandle *next;
66 MonoDebugFormat format;
72 GHashTable *type_hash;
74 GPtrArray *source_files;
82 guint32 mono_debug_get_type (MonoDebugHandle* debug, MonoClass *klass);
84 void mono_debug_open_assembly_dwarf2_plus (AssemblyDebugInfo *info);
86 void mono_debug_write_assembly_dwarf2_plus (AssemblyDebugInfo *info);
88 void mono_debug_close_assembly_dwarf2_plus (AssemblyDebugInfo *info);
90 void mono_debug_write_stabs (MonoDebugHandle *debug);
92 void mono_debug_write_dwarf2 (MonoDebugHandle *debug);
94 #endif /* __MONO_JIT_DEBUG_PRIVATE_H__ */