summaryrefslogtreecommitdiffstats
path: root/chrome_elf/chrome_elf_main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_elf/chrome_elf_main.cc')
-rw-r--r--chrome_elf/chrome_elf_main.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc
index 772c906..de64375 100644
--- a/chrome_elf/chrome_elf_main.cc
+++ b/chrome_elf/chrome_elf_main.cc
@@ -7,6 +7,7 @@
#include "chrome_elf/chrome_elf_main.h"
#include "chrome_elf/blacklist/blacklist.h"
+#include "chrome_elf/breakpad.h"
#include "chrome_elf/ntdll_cache.h"
void SignalChromeElf() {
@@ -15,8 +16,13 @@ void SignalChromeElf() {
BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) {
if (reason == DLL_PROCESS_ATTACH) {
- InitCache();
- blacklist::Initialize(false); // Don't force, abort if beacon is present.
+ InitializeCrashReporting();
+
+ __try {
+ InitCache();
+ blacklist::Initialize(false); // Don't force, abort if beacon is present.
+ } __except(GenerateCrashDump(GetExceptionInformation())) {
+ }
// TODO(csharp): Move additions to the DLL blacklist to a sane place.
// blacklist::AddDllToBlacklist(L"foo.dll");