1 //===-- CrashReason.h -------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_CrashReason_H_
11 #define liblldb_CrashReason_H_
13 #include "lldb/lldb-types.h"
19 enum class CrashReason {
22 // SIGSEGV crash reasons.
27 // SIGILL crash reasons.
30 eIllegalAddressingMode,
37 // SIGBUS crash reasons,
42 // SIGFPE crash reasons,
49 eFloatInvalidOperation,
53 std::string GetCrashReasonString(CrashReason reason, lldb::addr_t fault_addr);
54 std::string GetCrashReasonString(CrashReason reason, const siginfo_t &info);
56 const char *CrashReasonAsString(CrashReason reason);
58 CrashReason GetCrashReason(const siginfo_t &info);
60 #endif // #ifndef liblldb_CrashReason_H_