Logo Search packages:      
Sourcecode: kdbg version File versions

DebuggerDriver Class Reference

#include <dbgdriver.h>

Inherited by GdbDriver, and XsldbgDriver.

List of all members.

Detailed Description

This is an abstract base class for debugger process.

This class represents the debugger program. It provides the low-level interface to the commandline debugger. As such it implements the commands and parses the output.

Definition at line 260 of file dbgdriver.h.

Public Types

enum  QueueMode { QMnormal, QMoverride, QMoverrideMoreEqual }
enum  StopFlags { SFrefreshSource = 1, SFrefreshBreak = 2, SFrefreshThreads = 4, SFprogramActive = 128 }


void activateFileLine (const QString &file, int lineNo, const DbgAddr &address)
void commandReceived (CmdQueueItem *cmd, const char *output)
void enterIdleState ()
void inferiorRunning ()

Public Member Functions

virtual QStringList boolOptionList () const =0
bool canExecuteImmediately () const
virtual QString defaultInvocation () const =0
void dequeueCmdByVar (VarTree *var)
virtual void detachAndTerminate ()=0
virtual QString driverName () const =0
virtual QString editableValue (VarTree *value)
virtual CmdQueueItemexecuteCmd (DbgCommand, int intArg1, int intArg2, bool clearLow=false)=0
virtual CmdQueueItemexecuteCmd (DbgCommand, QString strArg1, QString strArg2, bool clearLow=false)=0
virtual CmdQueueItemexecuteCmd (DbgCommand, QString strArg, int intArg, bool clearLow=false)=0
virtual CmdQueueItemexecuteCmd (DbgCommand, int intArg, bool clearLow=false)=0
virtual CmdQueueItemexecuteCmd (DbgCommand, QString strArg, bool clearLow=false)=0
virtual CmdQueueItemexecuteCmd (DbgCommand, bool clearLow=false)=0
virtual void flushCommands (bool hipriOnly=false)
virtual void interruptInferior ()=0
bool isIdle () const
virtual void parseBackTrace (const char *output, QList< StackFrame > &stack)=0
virtual bool parseBreakList (const char *output, QList< Breakpoint > &brks)=0
virtual bool parseBreakpoint (const char *output, int &id, QString &file, int &lineNo, QString &address)=0
virtual bool parseChangeExecutable (const char *output, QString &message)=0
virtual bool parseChangeWD (const char *output, QString &message)=0
virtual bool parseCoreFile (const char *output)=0
virtual void parseDisassemble (const char *output, QList< DisassembledCode > &code)=0
virtual bool parseFindType (const char *output, QString &type)=0
virtual bool parseFrameChange (const char *output, int &frameNo, QString &file, int &lineNo, DbgAddr &address)=0
virtual bool parseInfoLine (const char *output, QString &addrFrom, QString &addrTo)=0
virtual void parseLocals (const char *output, QList< VarTree > &newVars)=0
virtual QString parseMemoryDump (const char *output, QList< MemoryDump > &memdump)=0
virtual bool parsePrintExpr (const char *output, bool wantErrorValue, VarTree *&var)=0
virtual uint parseProgramStopped (const char *output, QString &message)=0
virtual VarTree * parseQCharArray (const char *output, bool wantErrorValue, bool qt3like)=0
virtual void parseRegisters (const char *output, QList< RegisterInfo > &regs)=0
virtual QString parseSetVariable (const char *output)=0
virtual void parseSharedLibs (const char *output, QStrList &shlibs)=0
virtual bool parseThreadList (const char *output, QList< ThreadInfo > &threads)=0
virtual CmdQueueItemqueueCmd (DbgCommand, QString strArg1, QString strArg2, QueueMode mode)=0
virtual CmdQueueItemqueueCmd (DbgCommand, QString strArg, int intArg, QueueMode mode)=0
virtual CmdQueueItemqueueCmd (DbgCommand, int intArg, QueueMode mode)=0
virtual CmdQueueItemqueueCmd (DbgCommand, QString strArg, QueueMode mode)=0
virtual CmdQueueItemqueueCmd (DbgCommand, QueueMode mode)=0
void setLogFileName (const QString &fname)
virtual void setPrintQStringDataCmd (const char *cmd)=0
virtual bool startup (QString cmdStr)
virtual void terminate ()=0

Protected Types

enum  DebuggerState {
  DSidle, DSinterrupted, DSrunningLow, DSrunning,
  DScommandSent, DScommandSentLow
typedef QCString DelayedStr

Protected Slots

virtual void slotCommandRead (KProcess *)
virtual void slotExited (KProcess *)
virtual void slotReceiveOutput (KProcess *, char *buffer, int buflen)

Protected Member Functions

virtual void commandFinished (CmdQueueItem *cmd)=0
virtual int commSetupDoneC ()
CmdQueueItemexecuteCmdString (DbgCommand cmd, QString cmdString, bool clearLow)
void flushHiPriQueue ()
void flushLoPriQueue ()
CmdQueueItemqueueCmdString (DbgCommand cmd, QString cmdString, QueueMode mode)
void writeCommand ()

Protected Attributes

QQueue< DelayedStr > m_delayedOutput
QQueue< CmdQueueItemm_hipriCmdQueue
QFile m_logFile
QString m_logFileName
QList< CmdQueueItemm_lopriCmdQueue
char * m_output
size_t m_outputAlloc
size_t m_outputLen
char m_prompt [10]
char m_promptLastChar
size_t m_promptMinLen
QRegExp m_promptRE
QString m_runCmd
DebuggerState m_state

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index