diff options
author | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-11-06 19:34:19 +0000 |
---|---|---|
committer | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-11-06 19:34:19 +0000 |
commit | 80866e79454cefc5570b01dbb0a723185eae653c (patch) | |
tree | b7aaf22c6d808a23a66756fc99d50d3fab44a695 /src/common/windows/pdb_source_line_writer.h | |
parent | Fix minor naming inconsistency (#67). r=mmentovai (diff) | |
download | breakpad-80866e79454cefc5570b01dbb0a723185eae653c.tar.xz |
Symbol file should contain module GUID at beginning (#66). r=bryner
- The dumped symbol format now begins with a MODULE line identifying the
uuid, age, and name of the source pdb file.
- The processor ignores MODULE lines, but they are useful in figuring out
how to index symbol files in a symbol store.
- dump_syms and symupload now both accept either a pdb or exe/dll and
will read the pdb regardless.
- Figured out that MSSS always represents a module's age in pathnames in
hexadecimal, and updated SimpleSymbolSupplier to match.
http://groups.google.com/group/airbag-dev/browse_thread/thread/572108d6567edd58
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@59 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.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/common/windows/pdb_source_line_writer.h b/src/common/windows/pdb_source_line_writer.h index 506a4cb7..5a8fee1d 100644 --- a/src/common/windows/pdb_source_line_writer.h +++ b/src/common/windows/pdb_source_line_writer.h @@ -50,6 +50,7 @@ class PDBSourceLineWriter { enum FileFormat { PDB_FILE, // a .pdb file containing debug symbols EXE_FILE, // a .exe or .dll file + ANY_FILE // try PDB_FILE and then EXE_FILE }; explicit PDBSourceLineWriter(); @@ -73,9 +74,11 @@ class PDBSourceLineWriter { // Closes the current pdb file and its associated resources. void Close(); - // Returns the GUID for the module, as a string, - // e.g. "11111111-2222-3333-4444-555555555555". - wstring GetModuleGUID(); + // 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); private: // Outputs the line/address pairs for each line in the enumerator. @@ -102,6 +105,13 @@ class PDBSourceLineWriter { // correspond to code, returns true without outputting anything. bool PrintCodePublicSymbol(IDiaSymbol *symbol); + // Outputs a line identifying the PDB file that is being dumped, along with + // its uuid and age. + bool PrintPDBInfo(); + + // Returns the base name of a file, e.g. strips off the path. + static wstring GetBaseName(const wstring &filename); + // Returns the function name for a symbol. If possible, the name is // undecorated. If the symbol's decorated form indicates the size of // parameters on the stack, this information is returned in stack_param_size. |