|  | // Copyright 2013 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 BASE_DEBUG_DUMP_WITHOUT_CRASHING_H_ | 
|  | #define BASE_DEBUG_DUMP_WITHOUT_CRASHING_H_ | 
|  |  | 
|  | #include "base/base_export.h" | 
|  | #include "base/compiler_specific.h" | 
|  | #include "build/build_config.h" | 
|  |  | 
|  | namespace base { | 
|  |  | 
|  | namespace debug { | 
|  |  | 
|  | // Handler to silently dump the current process without crashing. | 
|  | // Before calling this function, call SetDumpWithoutCrashingFunction to pass a | 
|  | // function pointer, typically chrome!DumpProcessWithoutCrash.  See example code | 
|  | // in chrome_main.cc that does this for chrome.dll. | 
|  | BASE_EXPORT void DumpWithoutCrashing(); | 
|  |  | 
|  | // Sets a function that'll be invoked to dump the current process when | 
|  | // DumpWithoutCrashing() is called. | 
|  | BASE_EXPORT void SetDumpWithoutCrashingFunction(void (CDECL *function)()); | 
|  |  | 
|  | }  // namespace debug | 
|  |  | 
|  | }  // namespace base | 
|  |  | 
|  | #endif  // BASE_DEBUG_DUMP_WITHOUT_CRASHING_H_ |