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_exe/converter.cc | |
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_exe/converter.cc')
-rw-r--r-- | src/tools/windows/converter_exe/converter.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/tools/windows/converter_exe/converter.cc b/src/tools/windows/converter_exe/converter.cc index 6c30b270..9418ecaa 100644 --- a/src/tools/windows/converter_exe/converter.cc +++ b/src/tools/windows/converter_exe/converter.cc @@ -292,8 +292,7 @@ static bool SafeToMakeExternalRequest(const MissingSymbolInfo &missing_info, // Converter options derived from command line parameters.
struct ConverterOptions {
ConverterOptions()
- : report_fetch_failures(true),
- blacklist_regex(nullptr) {
+ : report_fetch_failures(true) {
}
~ConverterOptions() {
@@ -704,6 +703,7 @@ int main(int argc, char **argv) { if (argc % 2 != 1) {
return usage(argv[0]);
}
+
string blacklist_regex_str;
bool have_any_msss_servers = false;
for (int argi = 1; argi < argc; argi += 2) {
@@ -781,8 +781,9 @@ int main(int argc, char **argv) { FprintfFlush(stderr, "No upload symbols URL specified.\n");
return usage(argv[0]);
}
- if (options.missing_symbols_url.empty()) {
- FprintfFlush(stderr, "No missing symbols URL specified.\n");
+ if (options.missing_symbols_url.empty() &&
+ options.missing_symbols_file.empty()) {
+ FprintfFlush(stderr, "No missing symbols URL or file specified.\n");
return usage(argv[0]);
}
if (options.fetch_symbol_failure_url.empty()) {
|