1 #ifndef __DEBUG_INTERNALS_H__
2 #define __DEBUG_INTERNALS_H__
5 #include <mono/metadata/debug-helpers.h>
6 #include <mono/metadata/mono-debug.h>
7 #include <mono/utils/mono-compiler.h>
9 struct _MonoDebugMethodInfo {
11 MonoDebugHandle *handle;
21 int start_offset, end_offset;
27 /* Might be null for the main scope */
28 MonoDebugCodeBlock *block;
32 int start_offset, end_offset;
33 } MonoHoistedLocalScope;
36 * Information about local variables retrieved from a symbol file.
38 struct _MonoDebugLocalsInfo {
40 MonoDebugLocalVar *locals;
42 MonoDebugCodeBlock *code_blocks;
44 MonoHoistedLocalScope *hoisted;
48 * Information about method await yield and resume offsets retrieved from a symbol file.
50 struct _MonoDebugMethodAsyncInfo {
51 uint32_t catch_handler_offset;
53 uint32_t *yield_offsets;
54 uint32_t *resume_offsets;
55 uint32_t *move_next_method_token;
58 struct _MonoDebugLineNumberEntry {
60 uint32_t native_offset;
64 * Information about a source file retrieved from a symbol file.
70 } MonoDebugSourceInfo;
75 int end_line, end_column;
78 void mono_debugger_lock (void);
79 void mono_debugger_unlock (void);
82 mono_debug_get_seq_points (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int **source_files, MonoSymSeqPoint **seq_points, int *n_seq_points);
85 mono_debug_free_locals (MonoDebugLocalsInfo *info);
88 mono_debug_free_method_async_debug_info (MonoDebugMethodAsyncInfo *info);
91 mono_debug_image_has_debug_info (MonoImage *image);
93 MonoDebugSourceLocation *
94 mono_debug_lookup_source_location_by_il (MonoMethod *method, guint32 il_offset, MonoDomain *domain);
96 #endif /* __DEBUG_INTERNALS_H__ */