diff options
Diffstat (limited to 'chrome_elf/chrome_elf_main.cc')
-rw-r--r-- | chrome_elf/chrome_elf_main.cc | 10 |
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"); |