| Index: chrome_elf/chrome_elf_main.cc
 | 
| diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc
 | 
| index 772c906f1d4e66d07739f797afb7fc867390ba4d..de6437596216e48bc1da6f0c6887303b306cce26 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");
 | 
| 
 |