| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/breakpad/app/breakpad_win.h" | 5 #include "components/breakpad/app/breakpad_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <shellapi.h> | 8 #include <shellapi.h> |
| 9 #include <tchar.h> | 9 #include <tchar.h> |
| 10 #include <userenv.h> | 10 #include <userenv.h> |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 g_dumphandler_no_crash = new google_breakpad::ExceptionHandler(temp_dir, | 566 g_dumphandler_no_crash = new google_breakpad::ExceptionHandler(temp_dir, |
| 567 &FilterCallbackWhenNoCrash, | 567 &FilterCallbackWhenNoCrash, |
| 568 &DumpDoneCallbackWhenNoCrash, | 568 &DumpDoneCallbackWhenNoCrash, |
| 569 NULL, | 569 NULL, |
| 570 // Set the handler to none so this handler would not be added to | 570 // Set the handler to none so this handler would not be added to |
| 571 // |handler_stack_| in |ExceptionHandler| which is a list of exception | 571 // |handler_stack_| in |ExceptionHandler| which is a list of exception |
| 572 // handlers. | 572 // handlers. |
| 573 google_breakpad::ExceptionHandler::HANDLER_NONE, | 573 google_breakpad::ExceptionHandler::HANDLER_NONE, |
| 574 dump_type, pipe_name.c_str(), custom_info); | 574 dump_type, pipe_name.c_str(), custom_info); |
| 575 | 575 |
| 576 // TODO(rtenneti): http://crbug.com/391165. Undo this change after getting | 576 base::debug::SetDumpWithoutCrashingFunction(&DumpProcessWithoutCrash); |
| 577 // data. Disabled DumpProcessWithoutCrash to see if UMA crash rate decreases. | |
| 578 // base::debug::SetDumpWithoutCrashingFunction(&DumpProcessWithoutCrash); | |
| 579 | 577 |
| 580 if (g_breakpad->IsOutOfProcess()) { | 578 if (g_breakpad->IsOutOfProcess()) { |
| 581 // Tells breakpad to handle breakpoint and single step exceptions. | 579 // Tells breakpad to handle breakpoint and single step exceptions. |
| 582 // This might break JIT debuggers, but at least it will always | 580 // This might break JIT debuggers, but at least it will always |
| 583 // generate a crashdump for these exceptions. | 581 // generate a crashdump for these exceptions. |
| 584 g_breakpad->set_handle_debug_exceptions(true); | 582 g_breakpad->set_handle_debug_exceptions(true); |
| 585 | 583 |
| 586 #ifndef _WIN64 | 584 #ifndef _WIN64 |
| 587 if (process_type != L"browser" && | 585 if (process_type != L"browser" && |
| 588 !GetBreakpadClient()->IsRunningUnattended()) { | 586 !GetBreakpadClient()->IsRunningUnattended()) { |
| 589 // Initialize the hook TerminateProcess to catch unexpected exits. | 587 // Initialize the hook TerminateProcess to catch unexpected exits. |
| 590 InitTerminateProcessHooks(); | 588 InitTerminateProcessHooks(); |
| 591 } | 589 } |
| 592 #endif | 590 #endif |
| 593 } | 591 } |
| 594 } | 592 } |
| 595 | 593 |
| 596 } // namespace breakpad | 594 } // namespace breakpad |
| OLD | NEW |