aboutsummaryrefslogtreecommitdiff
path: root/src/tools/windows/converter/ms_symbol_server_converter.h
diff options
context:
space:
mode:
authorNelson Billing <nbilling@google.com>2019-06-24 11:52:48 -0700
committerNelson Billing <nbilling@google.com>2019-06-24 18:55:02 +0000
commit6ca3f8bbe56951db922fa3b567d7ec441093f96e (patch)
tree23ba14440e1ef1dfb5022977d171f7c9391110b2 /src/tools/windows/converter/ms_symbol_server_converter.h
parentFix 'debug_file' in PESourceLineWriter. (diff)
downloadbreakpad-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.h16
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