Code::Blocks  SVN r11506
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DebuggerDriver Class Referenceabstract

#include <debuggerdriver.h>

Inheritance diagram for DebuggerDriver:
Collaboration diagram for DebuggerDriver:

Public Types

enum  QueuePriority { Low = 0, High }
 The priority used when adding a command in the queue. More...
 
typedef std::vector< cb::shared_ptr< cbStackFrame > > StackFrameContainer
 
typedef std::vector< cb::shared_ptr< cbThread > > ThreadsContainer
 

Public Member Functions

 DebuggerDriver (DebuggerGDB *plugin)
 
virtual ~DebuggerDriver ()
 
void Log (const wxString &msg)
 
void DebugLog (const wxString &msg)
 
DebuggerGDBGetDebugger ()
 
virtual void AddDirectory (const wxString &dir)
 Add a directory in search list. More...
 
virtual void ClearDirectories ()
 Clear directories search list. More...
 
virtual void SetWorkingDirectory (const wxString &dir)
 Set the working directory. More...
 
virtual void SetArguments (const wxString &args)
 Set the execution arguments. More...
 
virtual wxString GetCommandLine (const wxString &debugger, const wxString &debuggee, const wxString &userArguments)=0
 Get the command-line to launch the debugger. More...
 
virtual wxString GetCommandLine (const wxString &debugger, int pid, const wxString &userArguments)=0
 Get the command-line to launch the debugger. More...
 
virtual void SetTarget (ProjectBuildTarget *target)=0
 Sets the target. More...
 
virtual void Prepare (bool isConsole, int printElements)=0
 Prepares the debugging process by setting up search dirs etc. More...
 
virtual void Start (bool breakOnEntry)=0
 Begin the debugging process by launching a program. More...
 
virtual void Stop ()=0
 Stop debugging. More...
 
virtual void Continue ()=0
 
virtual void Step ()=0
 
virtual void StepInstruction ()=0
 
virtual void StepIntoInstruction ()=0
 
virtual void StepIn ()=0
 
virtual void StepOut ()=0
 
virtual void SetNextStatement (const wxString &filename, int line)=0
 
virtual void Backtrace ()=0
 
virtual void Disassemble ()=0
 
virtual void CPURegisters ()=0
 
virtual void SwitchToFrame (size_t number)=0
 
virtual void SetVarValue (const wxString &var, const wxString &value)=0
 
virtual void MemoryDump ()=0
 
virtual void RunningThreads ()=0
 
virtual void InfoFrame ()=0
 
virtual void InfoDLL ()=0
 
virtual void InfoFiles ()=0
 
virtual void InfoFPU ()=0
 
virtual void InfoSignals ()=0
 
virtual void EnableCatchingThrow (bool enable)=0
 
virtual void AddBreakpoint (cb::shared_ptr< DebuggerBreakpoint > bp)=0
 Add a breakpoint. More...
 
virtual void RemoveBreakpoint (cb::shared_ptr< DebuggerBreakpoint > bp)=0
 Remove a breakpoint. More...
 
virtual void EvaluateSymbol (const wxString &symbol, const wxRect &tipRect)=0
 Evaluate a symbol. More...
 
virtual void UpdateWatches (cb::shared_ptr< GDBWatch > localsWatch, cb::shared_ptr< GDBWatch > funcArgsWatch, WatchesContainer &watches)=0
 Update watches. More...
 
virtual void UpdateWatch (cb::shared_ptr< GDBWatch > const &watch)=0
 
virtual void UpdateWatchLocalsArgs (cb::shared_ptr< GDBWatch > const &watch, bool locals)=0
 
virtual void Attach (int pid)=0
 Attach to process. More...
 
virtual void Detach ()=0
 Detach from running process. More...
 
virtual void ParseOutput (const wxString &output)=0
 Parse debugger's output. More...
 
virtual bool IsDebuggingStarted () const =0
 Is debugging started. More...
 
bool IsProgramStopped () const
 Is the program stopped? More...
 
void MarkProgramStopped (bool stopped)
 
bool IsQueueBusy () const
 Is the driver processing some commands? More...
 
void SetChildPID (long pid)
 Set child PID (debuggee's). More...
 
long GetChildPID () const
 Get the child's (debuggee's) PID. More...
 
virtual void SwitchThread (size_t threadIndex)=0
 Request to switch to another thread. More...
 
virtual bool UseDebugBreakProcess ()=0
 Ask the driver if the debugger should be interrupted with DebugBreakProcess or Ctrl+C event. More...
 
wxString GetDebuggersWorkingDirectory () const
 
void ShowFile (const wxString &file, int line)
 Show a file/line without changing the cursor. More...
 
void QueueCommand (DebuggerCmd *dcmd, QueuePriority prio=Low)
 add a command in the queue. The DebuggerCmd will be deleted automatically when finished. More...
 
DebuggerCmdCurrentCommand ()
 returns the currently executing command More...
 
void RunQueue ()
 runs the next command in the queue, if it is idle More...
 
void RemoveTopCommand (bool deleteIt=true)
 removes the top command (it has finished) More...
 
const StackFrameContainerGetStackFrames () const
 returns the container with the current backtrace More...
 
StackFrameContainerGetStackFrames ()
 returns the container with the current backtrace More...
 
const ThreadsContainerGetThreads () const
 returns the thread container with the current list of threads More...
 
ThreadsContainerGetThreads ()
 returns the thread container with the current list of threads More...
 
const CursorGetCursor () const
 Get debugger's cursor. More...
 
void SetCursor (const Cursor &cursor)
 Set debugger's cursor. More...
 
void ResetCurrentFrame ()
 
int GetCurrentFrame () const
 
int GetUserSelectedFrame () const
 
void SetCurrentFrame (int number, bool user_selected)
 
void NotifyDebuggeeContinued ()
 
void NotifyCursorChanged ()
 Called by implementations to notify cursor changes. More...
 
virtual void DetermineLanguage ()
 Determine language is debugged. More...
 

Protected Member Functions

void ResetCursor ()
 Called by implementations to reset the cursor. More...
 

Protected Attributes

DebuggerGDBm_pDBG
 
wxArrayString m_Dirs
 
wxString m_WorkingDir
 
wxString m_Args
 
bool m_ProgramIsStopped
 
wxString m_LastCursorAddress
 
Cursor m_Cursor
 
long m_ChildPID
 
DebuggerCommands m_DCmds
 
bool m_QueueBusy
 
StackFrameContainer m_backtrace
 
ThreadsContainer m_threads
 
int m_currentFrameNo
 
int m_userSelectedFrameNo
 
wxString m_FileName
 

Detailed Description

Definition at line 31 of file debuggerdriver.h.

Member Typedef Documentation

◆ StackFrameContainer

typedef std::vector<cb::shared_ptr<cbStackFrame> > DebuggerDriver::StackFrameContainer

Definition at line 43 of file debuggerdriver.h.

◆ ThreadsContainer

typedef std::vector<cb::shared_ptr<cbThread> > DebuggerDriver::ThreadsContainer

Definition at line 44 of file debuggerdriver.h.

Member Enumeration Documentation

◆ QueuePriority

The priority used when adding a command in the queue.

Low appends the new command in the queue, i.e. last in the queue. High inserts the command at the top of the queue.

Enumerator
Low 
High 

Definition at line 38 of file debuggerdriver.h.

Constructor & Destructor Documentation

◆ DebuggerDriver()

DebuggerDriver::DebuggerDriver ( DebuggerGDB plugin)

Definition at line 16 of file debuggerdriver.cpp.

◆ ~DebuggerDriver()

DebuggerDriver::~DebuggerDriver ( )
virtual

Definition at line 27 of file debuggerdriver.cpp.

References m_DCmds.

Member Function Documentation

◆ AddBreakpoint()

virtual void DebuggerDriver::AddBreakpoint ( cb::shared_ptr< DebuggerBreakpoint bp)
pure virtual

Add a breakpoint.

Parameters
bpThe breakpoint to add.
editorThe editor this breakpoint is set (might be NULL).

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerState::AddBreakpoint(), DebuggerState::ApplyBreakpoints(), GetDebugger(), DebuggerState::ResetBreakpoint(), and DebuggerState::ShiftBreakpoint().

◆ AddDirectory()

void DebuggerDriver::AddDirectory ( const wxString dir)
virtual

Add a directory in search list.

Definition at line 50 of file debuggerdriver.cpp.

References wxArrayString::Add(), wxArrayString::Index(), m_Dirs, and wxNOT_FOUND.

Referenced by DebuggerGDB::AddSourceDir(), and GetDebugger().

◆ Attach()

virtual void DebuggerDriver::Attach ( int  pid)
pure virtual

Attach to process.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ Backtrace()

virtual void DebuggerDriver::Backtrace ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ ClearDirectories()

void DebuggerDriver::ClearDirectories ( )
virtual

Clear directories search list.

Definition at line 45 of file debuggerdriver.cpp.

References wxArrayString::Clear(), and m_Dirs.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ Continue()

virtual void DebuggerDriver::Continue ( )
pure virtual

◆ CPURegisters()

virtual void DebuggerDriver::CPURegisters ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ CurrentCommand()

DebuggerCmd * DebuggerDriver::CurrentCommand ( )

returns the currently executing command

Definition at line 120 of file debuggerdriver.cpp.

References m_DCmds.

Referenced by GetChildPID(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), and RunQueue().

◆ DebugLog()

void DebuggerDriver::DebugLog ( const wxString msg)

Definition at line 40 of file debuggerdriver.cpp.

References cbDebuggerPlugin::DebugLog(), and m_pDBG.

◆ Detach()

virtual void DebuggerDriver::Detach ( )
pure virtual

Detach from running process.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DetachFromProcess(), and GetDebugger().

◆ DetermineLanguage()

virtual void DebuggerDriver::DetermineLanguage ( )
inlinevirtual

Determine language is debugged.

Reimplemented in GDB_driver.

Definition at line 203 of file debuggerdriver.h.

References ResetCursor().

Referenced by DebuggerGDB::DetermineLanguage().

◆ Disassemble()

virtual void DebuggerDriver::Disassemble ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ EnableCatchingThrow()

virtual void DebuggerDriver::EnableCatchingThrow ( bool  enable)
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnCatchThrow().

◆ EvaluateSymbol()

virtual void DebuggerDriver::EvaluateSymbol ( const wxString symbol,
const wxRect tipRect 
)
pure virtual

Evaluate a symbol.

Parameters
symbolThe symbol to evaluate.
tipRectThe rect to use for the tip window.

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnValueTooltip().

◆ GetChildPID()

long DebuggerDriver::GetChildPID ( ) const
inline

◆ GetCommandLine() [1/2]

virtual wxString DebuggerDriver::GetCommandLine ( const wxString debugger,
const wxString debuggee,
const wxString userArguments 
)
pure virtual

Get the command-line to launch the debugger.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ GetCommandLine() [2/2]

virtual wxString DebuggerDriver::GetCommandLine ( const wxString debugger,
int  pid,
const wxString userArguments 
)
pure virtual

Get the command-line to launch the debugger.

Implemented in GDB_driver, and CDB_driver.

◆ GetCurrentFrame()

int DebuggerDriver::GetCurrentFrame ( ) const
inline

Definition at line 194 of file debuggerdriver.h.

References m_currentFrameNo.

Referenced by DebuggerGDB::GetActiveStackFrame().

◆ GetCursor()

const Cursor& DebuggerDriver::GetCursor ( ) const
inline

◆ GetDebugger()

DebuggerGDB* DebuggerDriver::GetDebugger ( )
inline

◆ GetDebuggersWorkingDirectory()

wxString DebuggerDriver::GetDebuggersWorkingDirectory ( ) const

◆ GetStackFrames() [1/2]

DebuggerDriver::StackFrameContainer const & DebuggerDriver::GetStackFrames ( ) const

returns the container with the current backtrace

Definition at line 166 of file debuggerdriver.cpp.

References m_backtrace.

Referenced by GetChildPID(), DebuggerGDB::GetStackFrame(), DebuggerGDB::GetStackFrameCount(), CdbCmd_Backtrace::ParseOutput(), and GdbCmd_Backtrace::ParseOutput().

◆ GetStackFrames() [2/2]

DebuggerDriver::StackFrameContainer & DebuggerDriver::GetStackFrames ( )

returns the container with the current backtrace

Definition at line 171 of file debuggerdriver.cpp.

References m_backtrace.

◆ GetThreads() [1/2]

const DebuggerDriver::ThreadsContainer & DebuggerDriver::GetThreads ( ) const

returns the thread container with the current list of threads

Definition at line 176 of file debuggerdriver.cpp.

References m_threads.

Referenced by GetChildPID(), DebuggerGDB::GetThread(), DebuggerGDB::GetThreadsCount(), GdbCmd_Threads::ParseOutput(), and DebuggerGDB::SwitchToThread().

◆ GetThreads() [2/2]

DebuggerDriver::ThreadsContainer & DebuggerDriver::GetThreads ( )

returns the thread container with the current list of threads

Definition at line 181 of file debuggerdriver.cpp.

References m_threads.

◆ GetUserSelectedFrame()

int DebuggerDriver::GetUserSelectedFrame ( ) const
inline

◆ InfoDLL()

virtual void DebuggerDriver::InfoDLL ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnInfoDLL().

◆ InfoFiles()

virtual void DebuggerDriver::InfoFiles ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnInfoFiles().

◆ InfoFPU()

virtual void DebuggerDriver::InfoFPU ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnInfoFPU().

◆ InfoFrame()

virtual void DebuggerDriver::InfoFrame ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnInfoFrame().

◆ InfoSignals()

virtual void DebuggerDriver::InfoSignals ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::OnInfoSignals().

◆ IsDebuggingStarted()

virtual bool DebuggerDriver::IsDebuggingStarted ( ) const
pure virtual

Is debugging started.

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::ShowValueTooltip().

◆ IsProgramStopped()

bool DebuggerDriver::IsProgramStopped ( ) const
inline

Is the program stopped?

Definition at line 157 of file debuggerdriver.h.

References m_ProgramIsStopped.

Referenced by DebuggerGDB::IsStopped(), and RunQueue().

◆ IsQueueBusy()

bool DebuggerDriver::IsQueueBusy ( ) const
inline

Is the driver processing some commands?

Definition at line 160 of file debuggerdriver.h.

References m_QueueBusy.

Referenced by DebuggerGDB::IsBusy().

◆ Log()

void DebuggerDriver::Log ( const wxString msg)

◆ MarkProgramStopped()

void DebuggerDriver::MarkProgramStopped ( bool  stopped)
inline

◆ MemoryDump()

virtual void DebuggerDriver::MemoryDump ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ NotifyCursorChanged()

void DebuggerDriver::NotifyCursorChanged ( )

◆ NotifyDebuggeeContinued()

void DebuggerDriver::NotifyDebuggeeContinued ( )

◆ ParseOutput()

virtual void DebuggerDriver::ParseOutput ( const wxString output)
pure virtual

Parse debugger's output.

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::ParseOutput().

◆ Prepare()

virtual void DebuggerDriver::Prepare ( bool  isConsole,
int  printElements 
)
pure virtual

Prepares the debugging process by setting up search dirs etc.

Parameters
isConsoleIf true, the debuggee is a console executable.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ QueueCommand()

void DebuggerDriver::QueueCommand ( DebuggerCmd dcmd,
QueuePriority  prio = Low 
)

add a command in the queue. The DebuggerCmd will be deleted automatically when finished.

Definition at line 110 of file debuggerdriver.cpp.

References Low, m_DCmds, and RunQueue().

Referenced by CDB_driver::AddBreakpoint(), GDB_driver::AddBreakpoint(), GDB_driver::Attach(), GDB_driver::Backtrace(), CDB_driver::Continue(), GDB_driver::Continue(), CDB_driver::CPURegisters(), GDB_driver::CPURegisters(), CDB_driver::Detach(), GDB_driver::Detach(), GDB_driver::DetermineLanguage(), CDB_driver::Disassemble(), GDB_driver::Disassemble(), CDB_driver::DoBacktrace(), DebuggerGDB::DoDebug(), GDB_driver::EnableCatchingThrow(), CDB_driver::EvaluateSymbol(), GDB_driver::EvaluateSymbol(), GdbCmd_FindTooltipAddress::GdbCmd_FindTooltipAddress(), GetChildPID(), GDB_driver::HandleMainBreakPoint(), GDB_driver::InfoDLL(), GDB_driver::InfoFiles(), GDB_driver::InfoFPU(), GDB_driver::InfoFrame(), GDB_driver::InfoSignals(), GDB_driver::MemoryDump(), DebuggerGDB::OnPrintElements(), GDB_driver::ParseOutput(), CdbCmd_AttachToProcess::ParseOutput(), GdbCmd_AttachToProcess::ParseOutput(), GdbCmd_AddBreakpointCondition::ParseOutput(), GdbCmd_AddBreakpoint::ParseOutput(), GdbCmd_AddDataBreakpoint::ParseOutput(), CdbCmd_DisassemblyInit::ParseOutput(), GdbCmd_Start::ParseOutput(), GdbCmd_FindWatchType::ParseOutput(), GdbCmd_FindTooltipAddress::ParseOutput(), GdbCmd_FindTooltipType::ParseOutput(), GdbCmd_Backtrace::ParseOutput(), GdbCmd_DisassemblyInit::ParseOutput(), GdbCmd_StepOrNextInstruction::ParseOutput(), CDB_driver::Prepare(), GDB_driver::Prepare(), CDB_driver::RemoveBreakpoint(), GDB_driver::RemoveBreakpoint(), GDB_driver::RunningThreads(), DebuggerGDB::SendCommand(), GDB_driver::SetNextStatement(), GDB_driver::SetVarValue(), CDB_driver::Start(), GDB_driver::Start(), CDB_driver::Step(), GDB_driver::Step(), CDB_driver::StepIn(), GDB_driver::StepIn(), GDB_driver::StepInstruction(), GDB_driver::StepIntoInstruction(), CDB_driver::StepOut(), GDB_driver::StepOut(), CDB_driver::Stop(), GDB_driver::Stop(), GDB_driver::SwitchThread(), CDB_driver::SwitchToFrame(), GDB_driver::SwitchToFrame(), CDB_driver::UpdateWatch(), GDB_driver::UpdateWatch(), CDB_driver::UpdateWatches(), GDB_driver::UpdateWatches(), and GDB_driver::UpdateWatchLocalsArgs().

◆ RemoveBreakpoint()

virtual void DebuggerDriver::RemoveBreakpoint ( cb::shared_ptr< DebuggerBreakpoint bp)
pure virtual

◆ RemoveTopCommand()

void DebuggerDriver::RemoveTopCommand ( bool  deleteIt = true)

removes the top command (it has finished)

Definition at line 155 of file debuggerdriver.cpp.

References m_DCmds, and m_QueueBusy.

Referenced by GetChildPID(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), and RunQueue().

◆ ResetCurrentFrame()

void DebuggerDriver::ResetCurrentFrame ( )

◆ ResetCursor()

void DebuggerDriver::ResetCursor ( )
protected

◆ RunningThreads()

virtual void DebuggerDriver::RunningThreads ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ RunQueue()

void DebuggerDriver::RunQueue ( )

◆ SetArguments()

void DebuggerDriver::SetArguments ( const wxString args)
virtual

Set the execution arguments.

Definition at line 72 of file debuggerdriver.cpp.

References m_Args.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ SetChildPID()

void DebuggerDriver::SetChildPID ( long  pid)
inline

Set child PID (debuggee's).

Usually set by debugger commands.

Definition at line 162 of file debuggerdriver.h.

References m_ChildPID.

Referenced by GDB_driver::Attach(), GDB_driver::ParseOutput(), CdbCmd_GetPID::ParseOutput(), CdbCmd_AttachToProcess::ParseOutput(), and GdbCmd_InfoProgram::ParseOutput().

◆ SetCurrentFrame()

void DebuggerDriver::SetCurrentFrame ( int  number,
bool  user_selected 
)

◆ SetCursor()

void DebuggerDriver::SetCursor ( const Cursor cursor)
inline

◆ SetNextStatement()

virtual void DebuggerDriver::SetNextStatement ( const wxString filename,
int  line 
)
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::SetNextStatement().

◆ SetTarget()

virtual void DebuggerDriver::SetTarget ( ProjectBuildTarget target)
pure virtual

Sets the target.

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerState::StartDriver().

◆ SetVarValue()

virtual void DebuggerDriver::SetVarValue ( const wxString var,
const wxString value 
)
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::SetWatchValue().

◆ SetWorkingDirectory()

void DebuggerDriver::SetWorkingDirectory ( const wxString dir)
virtual

Set the working directory.

Definition at line 56 of file debuggerdriver.cpp.

References m_WorkingDir.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ ShowFile()

void DebuggerDriver::ShowFile ( const wxString file,
int  line 
)

Show a file/line without changing the cursor.

Definition at line 77 of file debuggerdriver.cpp.

References DEBUGGER_SHOW_FILE_LINE, and m_pDBG.

Referenced by GetChildPID(), and GdbCmd_Backtrace::ParseOutput().

◆ Start()

virtual void DebuggerDriver::Start ( bool  breakOnEntry)
pure virtual

Begin the debugging process by launching a program.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoDebug(), and GetDebugger().

◆ Step()

virtual void DebuggerDriver::Step ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ StepIn()

virtual void DebuggerDriver::StepIn ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ StepInstruction()

virtual void DebuggerDriver::StepInstruction ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ StepIntoInstruction()

virtual void DebuggerDriver::StepIntoInstruction ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ StepOut()

virtual void DebuggerDriver::StepOut ( )
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::RunCommand().

◆ Stop()

virtual void DebuggerDriver::Stop ( )
pure virtual

Stop debugging.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DetachFromProcess(), GetDebugger(), and DebuggerGDB::RunCommand().

◆ SwitchThread()

virtual void DebuggerDriver::SwitchThread ( size_t  threadIndex)
pure virtual

Request to switch to another thread.

Implemented in GDB_driver.

Referenced by GetChildPID(), and DebuggerGDB::SwitchToThread().

◆ SwitchToFrame()

virtual void DebuggerDriver::SwitchToFrame ( size_t  number)
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::SwitchToFrame().

◆ UpdateWatch()

virtual void DebuggerDriver::UpdateWatch ( cb::shared_ptr< GDBWatch > const &  watch)
pure virtual

◆ UpdateWatches()

virtual void DebuggerDriver::UpdateWatches ( cb::shared_ptr< GDBWatch localsWatch,
cb::shared_ptr< GDBWatch funcArgsWatch,
WatchesContainer watches 
)
pure virtual

Update watches.

Parameters
doLocalsDisplay values of local variables.
doArgsDisplay values of function arguments.
treeThe watches tree control.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoWatches(), and GetDebugger().

◆ UpdateWatchLocalsArgs()

virtual void DebuggerDriver::UpdateWatchLocalsArgs ( cb::shared_ptr< GDBWatch > const &  watch,
bool  locals 
)
pure virtual

Implemented in GDB_driver, and CDB_driver.

Referenced by GetDebugger(), and DebuggerGDB::UpdateWatch().

◆ UseDebugBreakProcess()

virtual bool DebuggerDriver::UseDebugBreakProcess ( )
pure virtual

Ask the driver if the debugger should be interrupted with DebugBreakProcess or Ctrl+C event.

Implemented in GDB_driver, and CDB_driver.

Referenced by DebuggerGDB::DoBreak(), DebuggerGDB::DoDebug(), and GetChildPID().

Member Data Documentation

◆ m_Args

wxString DebuggerDriver::m_Args
protected

Definition at line 214 of file debuggerdriver.h.

Referenced by GDB_driver::Prepare(), and SetArguments().

◆ m_backtrace

StackFrameContainer DebuggerDriver::m_backtrace
protected

Definition at line 227 of file debuggerdriver.h.

Referenced by GetStackFrames().

◆ m_ChildPID

long DebuggerDriver::m_ChildPID
protected

Definition at line 221 of file debuggerdriver.h.

Referenced by GetChildPID(), GDB_driver::ParseOutput(), and SetChildPID().

◆ m_currentFrameNo

int DebuggerDriver::m_currentFrameNo
protected

Definition at line 229 of file debuggerdriver.h.

Referenced by GetCurrentFrame(), ResetCurrentFrame(), and SetCurrentFrame().

◆ m_Cursor

Cursor DebuggerDriver::m_Cursor
protected

◆ m_DCmds

DebuggerCommands DebuggerDriver::m_DCmds
protected

◆ m_Dirs

wxArrayString DebuggerDriver::m_Dirs
protected

◆ m_FileName

wxString DebuggerDriver::m_FileName
protected

Definition at line 232 of file debuggerdriver.h.

Referenced by GDB_driver::UpdateWatches().

◆ m_LastCursorAddress

wxString DebuggerDriver::m_LastCursorAddress
protected

Definition at line 218 of file debuggerdriver.h.

Referenced by NotifyCursorChanged(), and ResetCursor().

◆ m_pDBG

DebuggerGDB* DebuggerDriver::m_pDBG
protected

◆ m_ProgramIsStopped

bool DebuggerDriver::m_ProgramIsStopped
protected

◆ m_QueueBusy

bool DebuggerDriver::m_QueueBusy
protected

◆ m_threads

ThreadsContainer DebuggerDriver::m_threads
protected

Definition at line 228 of file debuggerdriver.h.

Referenced by GetThreads().

◆ m_userSelectedFrameNo

int DebuggerDriver::m_userSelectedFrameNo
protected

Definition at line 230 of file debuggerdriver.h.

Referenced by GetUserSelectedFrame(), ResetCurrentFrame(), and SetCurrentFrame().

◆ m_WorkingDir

wxString DebuggerDriver::m_WorkingDir
protected

Definition at line 213 of file debuggerdriver.h.

Referenced by GetDebuggersWorkingDirectory(), and SetWorkingDirectory().


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