// Copyright 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. #ifndef CHROME_ELF_BREAKPAD_H_ #define CHROME_ELF_BREAKPAD_H_ #include namespace google_breakpad { class ExceptionHandler; } // Initializes collection and upload of crash reports. This will only be done if // the user has agreed to crash dump reporting. // // Crash reporting has to be initialized as early as possible (e.g., the first // thing in main()) to catch crashes occuring during process startup. // Crashes which occur during the global static construction phase will not // be caught and reported. This should not be a problem as static non-POD // objects are not allowed by the style guide and exceptions to this rule are // rare. void InitializeCrashReporting(); // Generates a crashdump for the provided |exinfo|. This crashdump will be // either be saved locally, or uploaded, depending on how the ExceptionHandler // has been configured. int GenerateCrashDump(EXCEPTION_POINTERS* exinfo); // Global pointer to the ExceptionHandler. This is initialized by // InitializeCrashReporting() and used by GenerateCrashDump() to record dumps. extern google_breakpad::ExceptionHandler* g_elf_breakpad; #endif // CHROME_ELF_BREAKPAD_H_