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_