Merge pull request #5646 from electron/update-breakpad

Fix crash reporter not working on x64 Windows
This commit is contained in:
Cheng Zhao 2016-05-23 00:25:24 +00:00
commit fd5f120434
4 changed files with 12 additions and 7 deletions

View file

@ -440,10 +440,12 @@ DWORD CrashService::AsyncSendDump(void* context) {
// termination of the service object.
base::AutoLock lock(info->self->sending_);
VLOG(1) << "trying to send report for pid = " << info->pid;
std::map<std::wstring, std::wstring> file_map;
file_map[L"upload_file_minidump"] = info->dump_path;
google_breakpad::ReportResult send_result
= info->self->sender_->SendCrashReport(info->self->reporter_url_,
info->map,
info->dump_path,
file_map,
&report_id);
switch (send_result) {
case google_breakpad::RESULT_FAILED:

View file

@ -20,6 +20,11 @@ const char kApplicationName[] = "application-name";
const wchar_t kPipeNameFormat[] = L"\\\\.\\pipe\\$1 Crash Service";
const wchar_t kStandardLogFile[] = L"operation_log.txt";
void InvalidParameterHandler(const wchar_t*, const wchar_t*, const wchar_t*,
unsigned int, uintptr_t) {
// noop.
}
bool GetCrashServiceDirectory(const std::wstring& application_name,
base::FilePath* dir) {
base::FilePath temp_dir;
@ -37,6 +42,9 @@ bool GetCrashServiceDirectory(const std::wstring& application_name,
} // namespace.
int Main(const wchar_t* cmd) {
// Ignore invalid parameter errors.
_set_invalid_parameter_handler(InvalidParameterHandler);
// Initialize all Chromium things.
base::AtExitManager exit_manager;
base::CommandLine::Init(0, NULL);

View file

@ -23,11 +23,6 @@ describe('crash-reporter module', function () {
w.destroy()
})
// It is not working on 64bit Windows.
if (process.platform === 'win32' && process.arch === 'x64') {
return
}
if (process.mas) {
return
}

2
vendor/breakpad vendored

@ -1 +1 @@
Subproject commit 4ee7e1a703d066861b7bf6fce28526f8ed07dcd6
Subproject commit c566c50d81f7b1edeaee9f11f5d07bda858d6b64