-/*
+/**
+ * \file
* This header is only installed for use by the debugger:
* the structures and the API declared here are not supported.
* Copyright 2012 Xamarin Inc (http://www.xamarin.com)
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
*/
#ifndef __MONO_DEBUG_MONO_SYMFILE_H__
#include <mono/metadata/class.h>
#include <mono/metadata/reflection.h>
#include <mono/metadata/mono-debug.h>
+#include <mono/metadata/debug-internals.h>
typedef struct MonoSymbolFileOffsetTable MonoSymbolFileOffsetTable;
typedef struct MonoSymbolFileLineNumberEntry MonoSymbolFileLineNumberEntry;
uint8_t data [MONO_ZERO_LEN_ARRAY];
};
-struct _MonoDebugMethodInfo {
- MonoMethod *method;
- MonoDebugHandle *handle;
- uint32_t index;
- uint32_t data_offset;
- uint32_t lnt_offset;
-};
-
-typedef struct {
- int parent;
- int type;
- /* IL offsets */
- int start_offset, end_offset;
-} MonoDebugCodeBlock;
-
-typedef struct {
- char *name;
- int index;
- /* Might be null for the main scope */
- MonoDebugCodeBlock *block;
-} MonoDebugLocalVar;
-
-/*
- * Information about local variables retrieved from a symbol file.
- */
-struct _MonoDebugLocalsInfo {
- int num_locals;
- MonoDebugLocalVar *locals;
- int num_blocks;
- MonoDebugCodeBlock *code_blocks;
-};
-
-struct _MonoDebugLineNumberEntry {
- uint32_t il_offset;
- uint32_t native_offset;
-};
-
-/*
- * Information about a source file retrieved from a symbol file.
- */
-typedef struct {
- char *source_file;
- /* 16 byte long */
- guint8 *guid, *hash;
-} MonoDebugSourceInfo;
-
#define MONO_SYMBOL_FILE_MAJOR_VERSION 50
#define MONO_SYMBOL_FILE_MINOR_VERSION 0
#define MONO_SYMBOL_FILE_MAGIC 0x45e82623fd7fa614ULL
MONO_API void
mono_debug_symfile_free_location (MonoDebugSourceLocation *location);
-int32_t
-_mono_debug_address_from_il_offset (MonoDebugMethodJitInfo *jit,
- uint32_t il_offset);
-
MONO_API MonoDebugMethodInfo *
mono_debug_symfile_lookup_method (MonoDebugHandle *handle,
MonoMethod *method);
MONO_API MonoDebugLocalsInfo*
mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo);
-MONO_API void
-mono_debug_symfile_free_locals (MonoDebugLocalsInfo *info);
-
-MONO_API void
-mono_debug_symfile_get_line_numbers (MonoDebugMethodInfo *minfo, char **source_file, int *n_il_offsets, int **il_offsets, int **line_numbers);
-
-MONO_API void
-mono_debug_symfile_get_line_numbers_full (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int *n_il_offsets, int **il_offsets, int **line_numbers, int **column_numbers, int **source_files, int **end_line_numbers, int **end_column_numbers);
+void
+mono_debug_symfile_get_seq_points (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int **source_files, MonoSymSeqPoint **seq_points, int *n_seq_points);
MONO_END_DECLS