Mono Debugger Interface
These are methods that are invoked by the debugger at
runtime.
mono_debugger_insert_breakpoint
Syntax
mono_debugger_insert_breakpoint
mono_debugger_method_has_breakpoint
Syntax
mono_debugger_method_has_breakpoint
Debugging Symbols
mono_debug_open_mono_symbols
Syntax
MonoSymbolFile*
mono_debug_open_mono_symbols (MonoDebugHandle *handle, const uint8_t *raw_contents,
int size, gboolean in_the_debugger)
mono_debug_symfile_free_location
Syntax
void
mono_debug_symfile_free_location (MonoDebugSourceLocation *location)
Description
Free a
MonoDebugSourceLocation
returned by
mono_debug_symfile_lookup_location
mono_debug_symfile_is_loaded
Syntax
mono_bool
mono_debug_symfile_is_loaded (MonoSymbolFile *symfile)
mono_debug_symfile_lookup_locals
Syntax
MonoDebugLocalsInfo*
mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo)
Description
Return information about the local variables of
minfo from the symbol file.
Return
NULL
if no information can be found.
The result should be freed using
mono_debug_symfile_free_locals
.
mono_debug_symfile_lookup_location
Syntax
MonoDebugSourceLocation*
mono_debug_symfile_lookup_location (MonoDebugMethodInfo *minfo, uint32_t offset)
Parameters
minfo | A MonoDebugMethodInfo which can be retrieved by mono_debug_lookup_method . |
offset | IL offset within the corresponding method's CIL code. |
Description
This function is similar to
mono_debug_lookup_location
, but we
already looked up the method and also already did the
native address -> IL offset mapping.
mono_debug_symfile_lookup_method
Syntax
MonoDebugMethodInfo*
mono_debug_symfile_lookup_method (MonoDebugHandle *handle, MonoMethod *method)
Internal Debugging
mono_debug_add_delegate_trampoline
Syntax
void
mono_debug_add_delegate_trampoline (gpointer code, int size)
mono_debug_close_image
Syntax
void
mono_debug_close_image (MonoImage *image)
mono_debug_domain_create
Syntax
void
mono_debug_domain_create (MonoDomain *domain)
mono_debug_domain_unload
Syntax
mono_debug_domain_unload
mono_debug_enabled
Syntax
mono_bool
mono_debug_enabled (void)
Description
Returns true is debug information is enabled. This doesn't relate if a debugger is present or not.
mono_debug_free_method_jit_info
Syntax
mono_debug_free_method_jit_info
mono_debug_free_source_location
Syntax
void
mono_debug_free_source_location (MonoDebugSourceLocation *location)
Parameters
location | A MonoDebugSourceLocation |
Description
Frees the location.
mono_debug_lookup_locals
Syntax
mono_debug_lookup_locals
mono_debug_lookup_method
Syntax
MonoDebugMethodInfo*
mono_debug_lookup_method (MonoMethod *method)
Description
Lookup symbol file information for the method
method. The returned
MonoDebugMethodInfo
is a private structure, but it can be passed to
mono_debug_symfile_lookup_location
.
mono_debug_lookup_method_addresses
Syntax
mono_debug_lookup_method_addresses
mono_debug_lookup_source_location
Syntax
MonoDebugSourceLocation*
mono_debug_lookup_source_location (MonoMethod *method, guint32 address, MonoDomain *domain)
Parameters
address | Native offset within the method's machine code. |
Description
Lookup the source code corresponding to the machine instruction located at
native offset address within method.
The returned MonoDebugSourceLocation
contains both file / line number
information and the corresponding IL offset. It must be freed by
mono_debug_free_source_location
.
mono_debug_open_image_from_memory
Syntax
mono_debug_open_image_from_memory
mono_debug_print_stack_frame
Syntax
gchar*
mono_debug_print_stack_frame (MonoMethod *method, guint32 native_offset, MonoDomain *domain)
Parameters
native_offset | Native offset within the method's machine code. |
Description
Conventient wrapper around mono_debug_lookup_source_location
which can be
used if you only want to use the location to print a stack frame.
mono_debug_remove_method
Syntax
mono_debug_remove_method
mono_debug_il_offset_from_address
Syntax
gint32
mono_debug_il_offset_from_address (MonoMethod *method, MonoDomain *domain, guint32 native_offset)
Description
Compute the IL offset corresponding to
native_offset inside the native
code of
method in
domain.
mono_debug_add_method
Syntax
MonoDebugMethodAddress*
mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDomain *domain)
mono_debug_close_mono_symbol_file
Syntax
void
mono_debug_close_mono_symbol_file (MonoSymbolFile *symfile)