X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-debug.h;h=2106a6f3e5e884456c0bed773f68005118266527;hb=01bc03ffde6db4fd421f455dd37a083679ccbaa8;hp=daba9e2ee1cdf81f35105014fd1b097b0bd296e0;hpb=157cb97206f627685c15410953d2767146f6e426;p=mono.git diff --git a/mono/metadata/mono-debug.h b/mono/metadata/mono-debug.h index daba9e2ee1c..2106a6f3e5e 100644 --- a/mono/metadata/mono-debug.h +++ b/mono/metadata/mono-debug.h @@ -36,6 +36,7 @@ typedef struct _MonoDebugList MonoDebugList; typedef enum { MONO_DEBUG_FORMAT_NONE, MONO_DEBUG_FORMAT_MONO, + /* Deprecated, the mdb debugger is not longer supported. */ MONO_DEBUG_FORMAT_DEBUGGER } MonoDebugFormat; @@ -104,6 +105,8 @@ struct _MonoDebugSourceLocation { uint32_t il_offset; }; +MONO_API mono_bool mono_debug_enabled (void); + /* * These bits of the MonoDebugLocalInfo's "index" field are flags specifying * where the variable is actually stored. @@ -130,6 +133,9 @@ struct _MonoDebugSourceLocation { /* gsharedvt local */ #define MONO_DEBUG_VAR_ADDRESS_MODE_GSHAREDVT_LOCAL 0x50000000 +/* variable is a vt address */ +#define MONO_DEBUG_VAR_ADDRESS_MODE_VTADDR 0x60000000 + struct _MonoDebugVarInfo { uint32_t index; uint32_t offset; @@ -143,64 +149,57 @@ struct _MonoDebugVarInfo { #define MONO_DEBUGGER_MINOR_VERSION 6 #define MONO_DEBUGGER_MAGIC 0x7aff65af4253d427ULL -extern MonoSymbolTable *mono_symbol_table; -extern MonoDebugFormat mono_debug_format; -extern int32_t mono_debug_debugger_version; -extern int32_t _mono_debug_using_mono_debugger; - -void mono_debug_list_add (MonoDebugList **list, const void* data); -void mono_debug_list_remove (MonoDebugList **list, const void* data); - -void mono_debug_init (MonoDebugFormat format); -void mono_debug_open_image_from_memory (MonoImage *image, const mono_byte *raw_contents, int size); -void mono_debug_cleanup (void); +MONO_API void mono_debug_list_add (MonoDebugList **list, const void* data); +MONO_API void mono_debug_list_remove (MonoDebugList **list, const void* data); -void mono_debug_close_image (MonoImage *image); +MONO_API void mono_debug_init (MonoDebugFormat format); +MONO_API void mono_debug_open_image_from_memory (MonoImage *image, const mono_byte *raw_contents, int size); +MONO_API void mono_debug_cleanup (void); -void mono_debug_domain_unload (MonoDomain *domain); -void mono_debug_domain_create (MonoDomain *domain); +MONO_API void mono_debug_close_image (MonoImage *image); -mono_bool mono_debug_using_mono_debugger (void); +MONO_API void mono_debug_domain_unload (MonoDomain *domain); +MONO_API void mono_debug_domain_create (MonoDomain *domain); -MonoDebugMethodAddress * +MONO_API MonoDebugMethodAddress * mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDomain *domain); -void +MONO_API void mono_debug_remove_method (MonoMethod *method, MonoDomain *domain); -MonoDebugMethodInfo * +MONO_API MonoDebugMethodInfo * mono_debug_lookup_method (MonoMethod *method); -MonoDebugMethodAddressList * +MONO_API MonoDebugMethodAddressList * mono_debug_lookup_method_addresses (MonoMethod *method); -MonoDebugMethodJitInfo* +MONO_API MonoDebugMethodJitInfo* mono_debug_find_method (MonoMethod *method, MonoDomain *domain); -void +MONO_API void mono_debug_free_method_jit_info (MonoDebugMethodJitInfo *jit); -void +MONO_API void mono_debug_add_delegate_trampoline (void* code, int size); -MonoDebugLocalsInfo* +MONO_API MonoDebugLocalsInfo* mono_debug_lookup_locals (MonoMethod *method); /* * Line number support. */ -MonoDebugSourceLocation * +MONO_API MonoDebugSourceLocation * mono_debug_lookup_source_location (MonoMethod *method, uint32_t address, MonoDomain *domain); -int32_t +MONO_API int32_t mono_debug_il_offset_from_address (MonoMethod *method, MonoDomain *domain, uint32_t native_offset); -void +MONO_API void mono_debug_free_source_location (MonoDebugSourceLocation *location); -char * +MONO_API char * mono_debug_print_stack_frame (MonoMethod *method, uint32_t native_offset, MonoDomain *domain); /* @@ -209,11 +208,11 @@ mono_debug_print_stack_frame (MonoMethod *method, uint32_t native_offset, MonoDo * These methods are used by the JIT while running inside the Mono Debugger. */ -int mono_debugger_method_has_breakpoint (MonoMethod *method); -int mono_debugger_insert_breakpoint (const char *method_name, mono_bool include_namespace); +MONO_API int mono_debugger_method_has_breakpoint (MonoMethod *method); +MONO_API int mono_debugger_insert_breakpoint (const char *method_name, mono_bool include_namespace); -void mono_set_is_debugger_attached (mono_bool attached); -mono_bool mono_is_debugger_attached (void); +MONO_API void mono_set_is_debugger_attached (mono_bool attached); +MONO_API mono_bool mono_is_debugger_attached (void); MONO_END_DECLS