blob: 584b3ad1868dfeddfe8a5bc03ec80ec18f7c5c10 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// Copyright (c) 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/shell/common/v8_breakpad_support_win.h"
#include <windows.h>
#include "base/logging.h"
#include "gin/public/debug.h"
namespace v8_breakpad_support {
void SetUp() {
#ifdef _WIN64
// Get the breakpad pointer from content_shell.exe
gin::Debug::CodeRangeCreatedCallback create_callback =
reinterpret_cast<gin::Debug::CodeRangeCreatedCallback>(
::GetProcAddress(::GetModuleHandle(L"content_shell.exe"),
"RegisterNonABICompliantCodeRange"));
gin::Debug::CodeRangeDeletedCallback delete_callback =
reinterpret_cast<gin::Debug::CodeRangeDeletedCallback>(
::GetProcAddress(::GetModuleHandle(L"content_shell.exe"),
"UnregisterNonABICompliantCodeRange"));
if (create_callback && delete_callback) {
gin::Debug::SetCodeRangeCreatedCallback(create_callback);
gin::Debug::SetCodeRangeDeletedCallback(delete_callback);
}
#endif
}
} // namespace v8_breakpad_support
|