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 <windows.h> | 5 #include <windows.h> |
6 | 6 |
7 #include "chrome_elf/chrome_elf_main.h" | 7 #include "chrome_elf/chrome_elf_main.h" |
8 | 8 |
9 #include "chrome_elf/blacklist/blacklist.h" | 9 #include "chrome_elf/blacklist/blacklist.h" |
| 10 #include "chrome_elf/breakpad.h" |
10 #include "chrome_elf/ntdll_cache.h" | 11 #include "chrome_elf/ntdll_cache.h" |
11 | 12 |
12 void SignalChromeElf() { | 13 void SignalChromeElf() { |
13 blacklist::ResetBeacon(); | 14 blacklist::ResetBeacon(); |
14 } | 15 } |
15 | 16 |
16 BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { | 17 BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { |
17 if (reason == DLL_PROCESS_ATTACH) { | 18 if (reason == DLL_PROCESS_ATTACH) { |
18 InitCache(); | 19 InitializeCrashReporting(); |
19 blacklist::Initialize(false); // Don't force, abort if beacon is present. | 20 |
| 21 __try { |
| 22 InitCache(); |
| 23 blacklist::Initialize(false); // Don't force, abort if beacon is present. |
| 24 } __except(GenerateCrashDump(GetExceptionInformation())) { |
| 25 } |
20 | 26 |
21 // TODO(csharp): Move additions to the DLL blacklist to a sane place. | 27 // TODO(csharp): Move additions to the DLL blacklist to a sane place. |
22 // blacklist::AddDllToBlacklist(L"foo.dll"); | 28 // blacklist::AddDllToBlacklist(L"foo.dll"); |
23 } | 29 } |
24 | 30 |
25 return TRUE; | 31 return TRUE; |
26 } | 32 } |
OLD | NEW |