1 // Copyright (c) 2013 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_COMMON_CRASH_KEYS_H_ 6 #define CHROME_COMMON_CRASH_KEYS_H_ 7 8 #include "base/debug/crash_logging.h" 9 10 namespace crash_keys { 11 12 // Registers all of the potential crash keys that can be sent to the crash 13 // reporting server. Returns the size of the union of all keys. 14 size_t RegisterChromeCrashKeys(); 15 16 // Crash Key Name Constants //////////////////////////////////////////////////// 17 18 #if defined(OS_MACOSX) 19 namespace mac { 20 21 // Used to report the first Cocoa/Mac NSException and its backtrace. 22 extern const char kFirstNSException[]; 23 extern const char kFirstNSExceptionTrace[]; 24 25 // Used to report the last Cocoa/Mac NSException and its backtrace. 26 extern const char kLastNSException[]; 27 extern const char kLastNSExceptionTrace[]; 28 29 // Records the current NSException as it is being created, and its backtrace. 30 extern const char kNSException[]; 31 extern const char kNSExceptionTrace[]; 32 33 // In the CrApplication, records information about the current event's 34 // target-action. 35 extern const char kSendAction[]; 36 37 // Records Cocoa zombie/used-after-freed objects that resulted in a 38 // deliberate crash. 39 extern const char kZombie[]; 40 extern const char kZombieTrace[]; 41 42 } // namespace mac 43 #endif 44 45 } // namespace crash_keys 46 47 #endif // CHROME_COMMON_CRASH_KEYS_H_ 48