[PATCH 05/12] [Winedump]: added dumping RSDS header from module
Eric Pouech
eric.pouech at wanadoo.fr
Fri Jan 5 14:42:39 CST 2007
A+
---
tools/winedump/debug.c | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/tools/winedump/debug.c b/tools/winedump/debug.c
index 747644d..21cd9e4 100644
--- a/tools/winedump/debug.c
+++ b/tools/winedump/debug.c
@@ -45,6 +45,7 @@ #include "windef.h"
#include "winbase.h"
#include "winedump.h"
#include "cvinclude.h"
+#include "wine/mscvpdb.h"
/*
* .DBG File Layout:
@@ -420,19 +421,33 @@ static void dump_codeview_headers(unsign
if (memcmp(signature->Signature, "NB10", 4) == 0)
{
- const struct {DWORD TimeStamp; DWORD Dunno; char Name[1];} *pdb_data;
+ const CODEVIEW_PDB_DATA* pdb_data;
pdb_data = (const void *)(signature + 1);
printf(" TimeStamp: %08X (%s)\n",
- pdb_data->TimeStamp, get_time_str(pdb_data->TimeStamp));
- printf(" Dunno: %08X\n", pdb_data->Dunno);
- printf(" Filename: %s\n", pdb_data->Name);
+ pdb_data->timestamp, get_time_str(pdb_data->timestamp));
+ printf(" Dunno: %08X\n", pdb_data->unknown);
+ printf(" Filename: %s\n", pdb_data->name);
+ return;
+ }
+ if (memcmp(signature->Signature, "RSDS", 4) == 0)
+ {
+ const CODEVIEW_HEADER_RSDS* rsds_data;
+ char guid_str[40];
+
+ rsds_data = (const void *)signature;
+ printf(" Signature: %08X\n",
+ rsds_data->dwSignature);
+ printf(" Guid: %s\n",
+ guid_to_string(&rsds_data->guid, guid_str, sizeof(guid_str)));
+ printf(" Dunno: %08X\n", rsds_data->unknown);
+ printf(" Filename: %s\n", rsds_data->name);
return;
}
if (memcmp(signature->Signature, "NB09", 4) != 0 && memcmp(signature->Signature, "NB11", 4) != 0)
{
- printf("Unsupported signature, aborting\n");
+ printf("Unsupported signature (%.4s), aborting\n", signature->Signature);
return;
}
More information about the wine-patches
mailing list