1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_ELF_BREAKPAD_H_ 6#define CHROME_ELF_BREAKPAD_H_ 7 8#include <windows.h> 9 10namespace google_breakpad { 11class ExceptionHandler; 12} 13 14// Initializes collection and upload of crash reports. This will only be done if 15// the user has agreed to crash dump reporting. 16// 17// Crash reporting has to be initialized as early as possible (e.g., the first 18// thing in main()) to catch crashes occuring during process startup. 19// Crashes which occur during the global static construction phase will not 20// be caught and reported. This should not be a problem as static non-POD 21// objects are not allowed by the style guide and exceptions to this rule are 22// rare. 23void InitializeCrashReporting(); 24 25// Generates a crashdump for the provided |exinfo|. This crashdump will be 26// either be saved locally, or uploaded, depending on how the ExceptionHandler 27// has been configured. 28int GenerateCrashDump(EXCEPTION_POINTERS* exinfo); 29 30// Global pointer to the ExceptionHandler. This is initialized by 31// InitializeCrashReporting() and used by GenerateCrashDump() to record dumps. 32extern google_breakpad::ExceptionHandler* g_elf_breakpad; 33 34#endif // CHROME_ELF_BREAKPAD_H_ 35