File indexing completed on 2024-04-28 04:38:33
0001 /* 0002 SPDX-FileCopyrightText: 1999 John Birch <jbb@kdevelop.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _DBGGLOBAL_H_ 0008 #define _DBGGLOBAL_H_ 0009 0010 #include <qobjectdefs.h> 0011 #include <QFlags> 0012 0013 namespace KDevMI 0014 { 0015 Q_NAMESPACE 0016 0017 enum DBGStateFlag 0018 { 0019 s_none = 0, 0020 s_dbgNotStarted = 1 << 0, 0021 s_appNotStarted = 1 << 1, 0022 s_programExited = 1 << 2, 0023 s_attached = 1 << 3, 0024 s_core = 1 << 4, 0025 /// Set when 'slotStopDebugger' started executing, to avoid 0026 /// entering that function several times. 0027 s_shuttingDown = 1 << 6, 0028 s_dbgBusy = 1 << 8, 0029 s_appRunning = 1 << 9, 0030 /// Set when we suspect GDB to be in a state where it does not listen for new commands 0031 /// while the inferior is running 0032 s_dbgNotListening = 1 << 10, 0033 s_interruptSent = 1 << 11, 0034 /// Once GDB is completely idle, send an automatic ExecContinue to resume from an interruption 0035 /// by CmdImmediately commands 0036 s_automaticContinue = 1 << 12, 0037 /// Set when the debugger failed to start 0038 s_dbgFailedStart = 1 << 13, 0039 }; 0040 Q_ENUM_NS(DBGStateFlag) 0041 Q_DECLARE_FLAGS(DBGStateFlags, DBGStateFlag) 0042 Q_DECLARE_OPERATORS_FOR_FLAGS(DBGStateFlags) 0043 0044 enum DataType { typeUnknown, typeValue, typePointer, typeReference, 0045 typeStruct, typeArray, typeQString, typeWhitespace, 0046 typeName }; 0047 0048 // FIXME: find a more appropriate place for these strings. Possibly a place specific to debugger backend 0049 namespace Config { 0050 static const char StartWithEntry[] = "Start With"; 0051 // FIXME: break on start isn't exposed in the UI for GDB 0052 static const char BreakOnStartEntry[] = "Break on Start"; 0053 } 0054 0055 namespace GDB { namespace Config { 0056 static const char GdbPathEntry[] = "GDB Path"; 0057 static const char DebuggerShellEntry[] = "Debugger Shell"; 0058 static const char RemoteGdbConfigEntry[] = "Remote GDB Config Script"; 0059 static const char RemoteGdbShellEntry[] = "Remote GDB Shell Script"; 0060 static const char RemoteGdbRunEntry[] = "Remote GDB Run Script"; 0061 static const char StaticMembersEntry[] = "Display Static Members"; 0062 static const char DemangleNamesEntry[] = "Display Demangle Names"; 0063 static const char AllowForcedBPEntry[] = "Allow Forced Breakpoint Set"; 0064 } 0065 } 0066 0067 namespace LLDB { namespace Config { 0068 static const char LldbExecutableEntry[] = "LLDB Executable"; 0069 static const char LldbArgumentsEntry[] = "LLDB Arguments"; 0070 static const char LldbEnvironmentEntry[] = "LLDB Environment"; 0071 static const char LldbInheritSystemEnvEntry[] = "LLDB Inherit System Env"; 0072 static const char LldbConfigScriptEntry[] = "LLDB Config Script"; 0073 static const char LldbRemoteDebuggingEntry[] = "LLDB Remote Debugging"; 0074 static const char LldbRemoteServerEntry[] = "LLDB Remote Server"; 0075 static const char LldbRemotePathEntry[] = "LLDB Remote Path"; 0076 } 0077 } 0078 0079 } // end of namespace KDevMI 0080 0081 #endif // _DBGGLOBAL_H_