Ken Thomases : dbghelp: Include Mach-O modules in minidumps.
Alexandre Julliard
julliard at winehq.org
Wed Mar 25 10:31:31 CDT 2009
Module: wine
Branch: master
Commit: 31fd8dd763519cfcfd84bb09c4974668e85e20b0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=31fd8dd763519cfcfd84bb09c4974668e85e20b0
Author: Ken Thomases <ken at codeweavers.com>
Date: Fri Mar 13 11:48:27 2009 -0500
dbghelp: Include Mach-O modules in minidumps.
---
dlls/dbghelp/minidump.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/dlls/dbghelp/minidump.c b/dlls/dbghelp/minidump.c
index da0632a..78e754f 100644
--- a/dlls/dbghelp/minidump.c
+++ b/dlls/dbghelp/minidump.c
@@ -316,6 +316,27 @@ static BOOL fetch_elf_module_info_cb(const WCHAR* name, unsigned long base,
return TRUE;
}
+/******************************************************************
+ * fetch_macho_module_info_cb
+ *
+ * Callback for accumulating in dump_context a Mach-O modules set
+ */
+static BOOL fetch_macho_module_info_cb(const WCHAR* name, unsigned long base,
+ void* user)
+{
+ struct dump_context* dc = (struct dump_context*)user;
+ DWORD rbase, size, checksum;
+
+ /* FIXME: there's no relevant timestamp on Mach-O modules */
+ /* NB: if we have a non-null base from the live-target use it. If we have
+ * a null base, then grab its base address from Mach-O file.
+ */
+ if (!macho_fetch_file_info(name, &rbase, &size, &checksum))
+ size = checksum = 0;
+ add_module(dc, name, base ? base : rbase, size, 0 /* FIXME */, checksum, TRUE);
+ return TRUE;
+}
+
static void fetch_modules_info(struct dump_context* dc)
{
EnumerateLoadedModulesW64(dc->hProcess, fetch_pe_module_info_cb, dc);
@@ -325,6 +346,7 @@ static void fetch_modules_info(struct dump_context* dc)
* a given application in a post mortem debugging condition.
*/
elf_enum_modules(dc->hProcess, fetch_elf_module_info_cb, dc);
+ macho_enum_modules(dc->hProcess, fetch_macho_module_info_cb, dc);
}
static void fetch_module_versioninfo(LPCWSTR filename, VS_FIXEDFILEINFO* ffi)
More information about the wine-cvs
mailing list