debugger: refactoring

Intergrate per-engine state tracking with the global running/stopped state.
This commit is contained in:
hjk
2009-09-25 08:35:31 +02:00
parent 9f8d93c37e
commit 20b9258d9e
25 changed files with 680 additions and 710 deletions

View File

@@ -59,6 +59,66 @@ namespace Internal {
enum { debug = 0 };
}
} // namespace Constants
namespace Internal {
enum DebuggerState
{
DebuggerNotReady, // Debugger not started
EngineStarting, // Engine starts
AdapterStarting,
AdapterStarted,
AdapterStartFailed,
InferiorPreparing,
InferiorPrepared,
InferiorPreparationFailed,
InferiorStarting,
// InferiorStarted, // That's either InferiorRunningRequested or InferiorStopped
InferiorStartFailed,
InferiorRunningRequested, // Debuggee requested to run
InferiorRunning, // Debuggee running
InferiorStopping, // Debuggee running, stop requested
InferiorStopped, // Debuggee stopped
InferiorStopFailed, // Debuggee stopped
InferiorShuttingDown,
InferiorShutDown,
InferiorShutdownFailed,
AdapterShuttingDown,
//AdapterShutDown, // use DebuggerNotReady
AdapterShutdownFailed,
};
enum DebuggerStartMode
{
NoStartMode,
StartInternal, // Start current start project's binary
StartExternal, // Start binary found in file system
AttachExternal, // Attach to running process by process id
AttachCrashedExternal, // Attach to crashed process by process id
AttachTcf, // Attach to a running Target Communication Framework agent
AttachCore, // Attach to a core file
StartRemote // Start and attach to a remote process
};
enum LogChannel
{
LogInput, // Used for user input
LogOutput,
LogWarning,
LogError,
LogStatus, // Used for status changed messages
LogTime, // Used for time stamp messages
LogDebug,
LogMisc
};
} // namespace Internal
} // namespace Debugger
#endif // DEBUGGERCONSTANTS_H