crash_helper.h 1.06 KB
Newer Older
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 2016 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.

#ifndef CHROME_ELF_CRASH_CRASH_HELPER_H_
#define CHROME_ELF_CRASH_CRASH_HELPER_H_

#include <windows.h>

// Keep all crash-related APIs here.  All other chrome_elf code should call here
// for crash support.
namespace elf_crash {

// Init the crash handling system for entire process.
bool InitializeCrashReporting();

// Any late cleanup of the crash handling system.
void ShutdownCrashReporting();

// Permanently disables subsequent calls to
// kernel32!SetUnhandledExceptionFilter(), see comment in .cc for why this is
// needed.
void DisableSetUnhandledExceptionFilter();

// Exception handler for exceptions in chrome_elf which need to be passed on to
// the next handler in the chain. Examples include exceptions in DllMain,
// blacklist interception code, etc.
// Note: the handler takes a minidump.
int GenerateCrashDump(EXCEPTION_POINTERS* exception_pointers);
}

#endif  // CHROME_ELF_CRASH_CRASH_HELPER_H_