aboutsummaryrefslogtreecommitdiff
path: root/src/common/windows/pdb_source_line_writer.h
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-11-21 16:58:36 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-11-21 16:58:36 +0000
commit4365e2fe41e2d7246a71b364147dd6e7787028f9 (patch)
tree4a29ea3f580be8a055c282b883430ca6dde5d9d3 /src/common/windows/pdb_source_line_writer.h
parentUse the reentrant versions of strtok() and gmtime() (#79) r=mmentovai (diff)
downloadbreakpad-4365e2fe41e2d7246a71b364147dd6e7787028f9.tar.xz
Support GUID-less PDBs (#77). r=bryner
- Handle MDCVInfoPDB20-based PDBs by outputting a signature instead of a guid in the MODULE line. - Identify the OS and CPU in the MODULE line. - Suppress multiple subsequent identical STACK WIN lines. http://groups.google.com/group/airbag-dev/browse_thread/thread/0f54e2c33ed5d82d git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@70 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/windows/pdb_source_line_writer.h')
-rw-r--r--src/common/windows/pdb_source_line_writer.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/common/windows/pdb_source_line_writer.h b/src/common/windows/pdb_source_line_writer.h
index 5a8fee1d..b4db5bc7 100644
--- a/src/common/windows/pdb_source_line_writer.h
+++ b/src/common/windows/pdb_source_line_writer.h
@@ -75,10 +75,21 @@ class PDBSourceLineWriter {
void Close();
// Sets guid to the GUID for the module, as a string,
- // e.g. "11111111-2222-3333-4444-555555555555". age will be set to the
- // age of the pdb file, and filename will be set to the basename of the
- // PDB's file name. Returns true on success and false on failure.
- bool GetModuleInfo(wstring *guid, int *age, wstring *filename);
+ // e.g. "11111111-2222-3333-4444-555555555555". If the module has no guid,
+ // guid will instead be set to the module's 32-bit signature value, in
+ // zero-padded hexadecimal form, such as "0004beef". age will be set to the
+ // age of the pdb file, filename will be set to the basename of the pdb's
+ // file name, and cpu will be set to a string identifying the associated CPU
+ // architecture. cpu is permitted to be NULL, in which case CPU information
+ // will not be returned. Returns true on success and false on failure.
+ bool GetModuleInfo(wstring *guid, int *age, wstring *filename, wstring *cpu);
+
+ // Sets uses_guid to true if the opened file uses a new-style CodeView
+ // record with a 128-bit GUID, or false if the opened file uses an old-style
+ // CodeView record. When no GUID is available, a 32-bit signature should be
+ // used to identify the module instead. If the information cannot be
+ // determined, this method returns false.
+ bool UsesGUID(bool *uses_guid);
private:
// Outputs the line/address pairs for each line in the enumerator.