/* * mono_debug_lookup_locals: * * Return information about the local variables of MINFO. * The result should be freed using mono_debug_free_locals (). */ MonoDebugLocalsInfo* mono_debug_lookup_locals (MonoMethod *method) { MonoDebugMethodInfo *minfo; MonoDebugLocalsInfo *res; if (mono_debug_format == MONO_DEBUG_FORMAT_NONE) return NULL; mono_debugger_lock (); minfo = mono_debug_lookup_method_internal (method); if (!minfo || !minfo->handle) { mono_debugger_unlock (); return NULL; } if (minfo->handle->ppdb) { res = mono_ppdb_lookup_locals (minfo); } else { if (!minfo->handle->symfile || !mono_debug_symfile_is_loaded (minfo->handle->symfile)) res = NULL; else res = mono_debug_symfile_lookup_locals (minfo); } mono_debugger_unlock (); return res; }
/* * mono_debug_lookup_locals: * * Return information about the local variables of MINFO. * The result should be freed using mono_debug_symfile_free_locals (). */ MonoDebugLocalsInfo* mono_debug_lookup_locals (MonoMethod *method) { MonoDebugMethodInfo *minfo; MonoDebugLocalsInfo *res; if (mono_debug_format == MONO_DEBUG_FORMAT_NONE) return NULL; mono_debugger_lock (); minfo = _mono_debug_lookup_method (method); if (!minfo || !minfo->handle || !minfo->handle->symfile || !mono_debug_symfile_is_loaded (minfo->handle->symfile)) { mono_debugger_unlock (); return NULL; } res = mono_debug_symfile_lookup_locals (minfo); mono_debugger_unlock (); return res; }