diff options
author | Nelson Billing <nbilling@google.com> | 2019-06-24 11:52:48 -0700 |
---|---|---|
committer | Nelson Billing <nbilling@google.com> | 2019-06-24 18:55:02 +0000 |
commit | 6ca3f8bbe56951db922fa3b567d7ec441093f96e (patch) | |
tree | 23ba14440e1ef1dfb5022977d171f7c9391110b2 /src/tools/windows/converter/ms_symbol_server_converter.h | |
parent | Fix 'debug_file' in PESourceLineWriter. (diff) | |
download | breakpad-6ca3f8bbe56951db922fa3b567d7ec441093f96e.tar.xz |
Add PE-only MD support to Windows symbol converter.
- Only 64-bit PEs supported.
- Re-add some scripts that were missed in initial move of code.
- Change msdia120.dll dependency to msdia140.dll.
- Add tests for Intel, AMD, and NVidia Microsoft Symbol Stores.
- Windows symbol converter now attempts to fall back to PE-only metadata
when it fails to locate a PDB.
- Remove the 'binary' folder under converter_exe. Need to think more
about how a deployment should look and what tool(s) to use in creating
one.
Change-Id: I52e42cbe5e759874a25114c2483e8b50d73fdf77
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1670098
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
Diffstat (limited to 'src/tools/windows/converter/ms_symbol_server_converter.h')
-rw-r--r-- | src/tools/windows/converter/ms_symbol_server_converter.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tools/windows/converter/ms_symbol_server_converter.h b/src/tools/windows/converter/ms_symbol_server_converter.h index d601b433..401f7c34 100644 --- a/src/tools/windows/converter/ms_symbol_server_converter.h +++ b/src/tools/windows/converter/ms_symbol_server_converter.h @@ -177,6 +177,22 @@ class MSSymbolServerConverter { string *symbol_file, string *pe_file); + // Calls LocatePEFile and converts the returned PE file to the + // dumped-symbol format, storing it adjacent to the PE file. The + // only conversion supported is from PE files. Returns the return + // value of LocatePEFile, or if LocatePEFile succeeds but + // conversion fails, returns LOCATE_FAILURE. The pathname to the + // PE file and to the converted symbol file are returned in + // |converted_symbol_file| and |pe_file|. |pe_file| is optional and may be + // NULL. If only the converted symbol file is desired, set |keep_pe_file| + // to false to indicate that the executable file (exe, dll) should be deleted + // after conversion. + // NOTE: Currrently only supports x64 PEs. + LocateResult LocateAndConvertPEFile(const MissingSymbolInfo &missing, + bool keep_pe_file, + string *converted_symbol_file, + string *pe_file); + private: // Locates the PDB or PE file (DLL or EXE) specified by the identifying // information in |debug_or_code_file| and |debug_or_code_id|, by checking |