Code::Blocks
SVN r11506
|
#include <debuggerdriver.h>
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) |
DebuggerGDB * | GetDebugger () |
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... | |
DebuggerCmd * | CurrentCommand () |
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 StackFrameContainer & | GetStackFrames () const |
returns the container with the current backtrace More... | |
StackFrameContainer & | GetStackFrames () |
returns the container with the current backtrace More... | |
const ThreadsContainer & | GetThreads () const |
returns the thread container with the current list of threads More... | |
ThreadsContainer & | GetThreads () |
returns the thread container with the current list of threads More... | |
const Cursor & | GetCursor () 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 | |
DebuggerGDB * | m_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 |
Definition at line 31 of file debuggerdriver.h.
typedef std::vector<cb::shared_ptr<cbStackFrame> > DebuggerDriver::StackFrameContainer |
Definition at line 43 of file debuggerdriver.h.
typedef std::vector<cb::shared_ptr<cbThread> > DebuggerDriver::ThreadsContainer |
Definition at line 44 of file debuggerdriver.h.
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.
DebuggerDriver::DebuggerDriver | ( | DebuggerGDB * | plugin | ) |
Definition at line 16 of file debuggerdriver.cpp.
|
virtual |
Definition at line 27 of file debuggerdriver.cpp.
References m_DCmds.
|
pure virtual |
Add a breakpoint.
bp | The breakpoint to add. |
editor | The 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().
|
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().
|
pure virtual |
Attach to process.
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
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().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), GdbCmd_AddBreakpointCondition::ParseOutput(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
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().
void DebuggerDriver::DebugLog | ( | const wxString & | msg | ) |
Definition at line 40 of file debuggerdriver.cpp.
References cbDebuggerPlugin::DebugLog(), and m_pDBG.
|
pure virtual |
Detach from running process.
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DetachFromProcess(), and GetDebugger().
|
inlinevirtual |
Determine language is debugged.
Reimplemented in GDB_driver.
Definition at line 203 of file debuggerdriver.h.
References ResetCursor().
Referenced by DebuggerGDB::DetermineLanguage().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnCatchThrow().
|
pure virtual |
Evaluate a symbol.
symbol | The symbol to evaluate. |
tipRect | The rect to use for the tip window. |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnValueTooltip().
|
inline |
Get the child's (debuggee's) PID.
Definition at line 164 of file debuggerdriver.h.
References CurrentCommand(), GetDebuggersWorkingDirectory(), GetStackFrames(), GetThreads(), Low, m_ChildPID, QueueCommand(), RemoveTopCommand(), RunQueue(), ShowFile(), SwitchThread(), and UseDebugBreakProcess().
Referenced by DebuggerGDB::DoBreak(), and DebuggerGDB::Stop().
|
pure virtual |
Get the command-line to launch the debugger.
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
|
pure virtual |
Get the command-line to launch the debugger.
Implemented in GDB_driver, and CDB_driver.
|
inline |
Definition at line 194 of file debuggerdriver.h.
References m_currentFrameNo.
Referenced by DebuggerGDB::GetActiveStackFrame().
|
inline |
Get debugger's cursor.
Definition at line 189 of file debuggerdriver.h.
References m_Cursor.
Referenced by GdbCmd_DisassemblyInit::GdbCmd_DisassemblyInit(), DebuggerGDB::GetCurrentPosition(), DebuggerGDB::OnCursorChanged(), GdbCmd_DisassemblyInit::ParseOutput(), and GdbCmd_FindCursor::ParseOutput().
|
inline |
Definition at line 52 of file debuggerdriver.h.
References AddBreakpoint(), AddDirectory(), Attach(), Backtrace(), ClearDirectories(), Continue(), CPURegisters(), Detach(), Disassemble(), EnableCatchingThrow(), EvaluateSymbol(), GetCommandLine(), InfoDLL(), InfoFiles(), InfoFPU(), InfoFrame(), InfoSignals(), IsDebuggingStarted(), m_pDBG, MemoryDump(), ParseOutput(), Prepare(), RemoveBreakpoint(), RunningThreads(), SetArguments(), SetNextStatement(), SetTarget(), SetVarValue(), SetWorkingDirectory(), Start(), Step(), StepIn(), StepInstruction(), StepIntoInstruction(), StepOut(), Stop(), SwitchToFrame(), UpdateWatch(), UpdateWatches(), and UpdateWatchLocalsArgs().
Referenced by GdbCmd_TooltipEvaluation::ParseOutput().
wxString DebuggerDriver::GetDebuggersWorkingDirectory | ( | ) | const |
Definition at line 61 of file debuggerdriver.cpp.
References wxString::empty(), m_WorkingDir, wxEmptyString, wxGetCwd(), and wxSetWorkingDirectory().
Referenced by DebuggerGDB::DoDebug(), and GetChildPID().
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().
DebuggerDriver::StackFrameContainer & DebuggerDriver::GetStackFrames | ( | ) |
returns the container with the current backtrace
Definition at line 171 of file debuggerdriver.cpp.
References m_backtrace.
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().
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.
|
inline |
Definition at line 195 of file debuggerdriver.h.
References m_userSelectedFrameNo, NotifyCursorChanged(), NotifyDebuggeeContinued(), and SetCurrentFrame().
Referenced by GdbCmd_Backtrace::ParseOutput().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnInfoDLL().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnInfoFiles().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnInfoFPU().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnInfoFrame().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::OnInfoSignals().
|
pure virtual |
Is debugging started.
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::ShowValueTooltip().
|
inline |
Is the program stopped?
Definition at line 157 of file debuggerdriver.h.
References m_ProgramIsStopped.
Referenced by DebuggerGDB::IsStopped(), and RunQueue().
|
inline |
Is the driver processing some commands?
Definition at line 160 of file debuggerdriver.h.
References m_QueueBusy.
Referenced by DebuggerGDB::IsBusy().
void DebuggerDriver::Log | ( | const wxString & | msg | ) |
Definition at line 35 of file debuggerdriver.cpp.
References cbDebuggerPlugin::Log(), and m_pDBG.
Referenced by GdbCmd_AttachToProcess::GdbCmd_AttachToProcess(), GdbCmd_RemoteBaud::GdbCmd_RemoteBaud(), GdbCmd_RemoteTarget::GdbCmd_RemoteTarget(), CdbCmd_AddSourceDir::ParseOutput(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), DebuggerCmd::ParseOutput(), CdbCmd_SetDebuggee::ParseOutput(), CdbCmd_AddSymbolFile::ParseOutput(), CdbCmd_AttachToProcess::ParseOutput(), CdbCmd_Detach::ParseOutput(), GdbCmd_AddSourceDir::ParseOutput(), GdbCmd_SetDebuggee::ParseOutput(), CdbCmd_AddBreakpoint::ParseOutput(), GdbCmd_AddSymbolFile::ParseOutput(), CdbCmd_RemoveBreakpoint::ParseOutput(), GdbCmd_AttachToProcess::ParseOutput(), GdbCmd_Detach::ParseOutput(), GdbCmd_AddBreakpoint::ParseOutput(), GdbCmd_AddDataBreakpoint::ParseOutput(), CdbCmd_DisassemblyInit::ParseOutput(), GdbCmd_RemoveBreakpoint::ParseOutput(), GdbCmd_Start::ParseOutput(), GdbCmd_ChangeFrame::ParseOutput(), GdbCmd_Backtrace::ParseOutput(), GdbCmd_DisassemblyInit::ParseOutput(), GdbCmd_RemoteTarget::ParseOutput(), and GdbCmd_StepOrNextInstruction::ParseOutput().
|
inline |
Definition at line 158 of file debuggerdriver.h.
References m_ProgramIsStopped.
Referenced by GdbCmd_AttachToProcess::ParseOutput(), and GdbCmd_Start::ParseOutput().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
void DebuggerDriver::NotifyCursorChanged | ( | ) |
Called by implementations to notify cursor changes.
Definition at line 85 of file debuggerdriver.cpp.
References Cursor::address, Cursor::changed, DEBUGGER_CURSOR_CHANGED, m_Cursor, m_LastCursorAddress, and m_pDBG.
Referenced by GDB_driver::AddBreakpoint(), GetUserSelectedFrame(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), CdbCmd_Backtrace::ParseOutput(), CdbCmd_SwitchFrame::ParseOutput(), GdbCmd_FindCursor::ParseOutput(), and DebuggerGDB::RunCommand().
void DebuggerDriver::NotifyDebuggeeContinued | ( | ) |
Definition at line 94 of file debuggerdriver.cpp.
References DebuggerGDB::DebuggeeContinued(), m_pDBG, and ResetCursor().
Referenced by CdbCmd_Continue::Action(), GdbCmd_Continue::Action(), and GetUserSelectedFrame().
|
pure virtual |
Parse debugger's output.
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::ParseOutput().
|
pure virtual |
Prepares the debugging process by setting up search dirs etc.
isConsole | If true, the debuggee is a console executable. |
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
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().
|
pure virtual |
Remove a breakpoint.
bp | The breakpoint to remove. If NULL, all reakpoints are removed. |
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerState::ApplyBreakpoints(), DebuggerState::CleanUp(), GetDebugger(), GdbCmd_AddBreakpointCondition::ParseOutput(), DebuggerState::RemoveAllBreakpoints(), DebuggerState::RemoveAllProjectBreakpoints(), DebuggerState::RemoveBreakpoint(), DebuggerState::ResetBreakpoint(), and DebuggerState::ShiftBreakpoint().
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().
void DebuggerDriver::ResetCurrentFrame | ( | ) |
Definition at line 193 of file debuggerdriver.cpp.
References Manager::Get(), DebuggerManager::GetBacktraceDialog(), Manager::GetDebuggerManager(), m_currentFrameNo, m_userSelectedFrameNo, and cbBacktraceDlg::Reload().
Referenced by DebuggerGDB::RunCommand(), and SetCursor().
|
protected |
Called by implementations to reset the cursor.
Definition at line 100 of file debuggerdriver.cpp.
References Cursor::address, Cursor::changed, wxString::Clear(), Cursor::file, Cursor::function, Cursor::line, m_Cursor, and m_LastCursorAddress.
Referenced by CDB_driver::Continue(), GDB_driver::Continue(), DetermineLanguage(), NotifyDebuggeeContinued(), GDB_driver::SetNextStatement(), 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(), and GDB_driver::SwitchToFrame().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
void DebuggerDriver::RunQueue | ( | ) |
runs the next command in the queue, if it is idle
Definition at line 125 of file debuggerdriver.cpp.
References DebuggerCmd::Action(), CurrentCommand(), DebuggerGDB::DoSendCommand(), DebuggerCmd::IsContinueCommand(), wxString::IsEmpty(), IsProgramStopped(), DebuggerCmd::m_Cmd, m_DCmds, m_pDBG, m_ProgramIsStopped, m_QueueBusy, and RemoveTopCommand().
Referenced by GetChildPID(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), and QueueCommand().
|
virtual |
Set the execution arguments.
Definition at line 72 of file debuggerdriver.cpp.
References m_Args.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
|
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().
void DebuggerDriver::SetCurrentFrame | ( | int | number, |
bool | user_selected | ||
) |
Definition at line 186 of file debuggerdriver.cpp.
References m_currentFrameNo, and m_userSelectedFrameNo.
Referenced by GetUserSelectedFrame(), GdbCmd_Backtrace::ParseOutput(), and DebuggerGDB::SwitchToFrame().
|
inline |
Set debugger's cursor.
Definition at line 191 of file debuggerdriver.h.
References m_Cursor, and ResetCurrentFrame().
Referenced by CdbCmd_Backtrace::ParseOutput(), CdbCmd_SwitchFrame::ParseOutput(), GdbCmd_DisassemblyInit::ParseOutput(), and GdbCmd_FindCursor::ParseOutput().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::SetNextStatement().
|
pure virtual |
Sets the target.
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerState::StartDriver().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::SetWatchValue().
|
virtual |
Set the working directory.
Definition at line 56 of file debuggerdriver.cpp.
References m_WorkingDir.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
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().
|
pure virtual |
Begin the debugging process by launching a program.
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DoDebug(), and GetDebugger().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Stop debugging.
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DetachFromProcess(), GetDebugger(), and DebuggerGDB::RunCommand().
|
pure virtual |
Request to switch to another thread.
Implemented in GDB_driver.
Referenced by GetChildPID(), and DebuggerGDB::SwitchToThread().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::SwitchToFrame().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::AddWatch(), GetDebugger(), and DebuggerGDB::UpdateWatch().
|
pure virtual |
Update watches.
doLocals | Display values of local variables. |
doArgs | Display values of function arguments. |
tree | The watches tree control. |
Implemented in GDB_driver, and CDB_driver.
Referenced by DebuggerGDB::DoWatches(), and GetDebugger().
|
pure virtual |
Implemented in GDB_driver, and CDB_driver.
Referenced by GetDebugger(), and DebuggerGDB::UpdateWatch().
|
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().
|
protected |
Definition at line 214 of file debuggerdriver.h.
Referenced by GDB_driver::Prepare(), and SetArguments().
|
protected |
Definition at line 227 of file debuggerdriver.h.
Referenced by GetStackFrames().
|
protected |
Definition at line 221 of file debuggerdriver.h.
Referenced by GetChildPID(), GDB_driver::ParseOutput(), and SetChildPID().
|
protected |
Definition at line 229 of file debuggerdriver.h.
Referenced by GetCurrentFrame(), ResetCurrentFrame(), and SetCurrentFrame().
|
protected |
Definition at line 219 of file debuggerdriver.h.
Referenced by GetCursor(), GDB_driver::HandleMainBreakPoint(), NotifyCursorChanged(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), ResetCursor(), SetCursor(), and GDB_driver::UpdateWatches().
|
protected |
Definition at line 224 of file debuggerdriver.h.
Referenced by CurrentCommand(), GDB_driver::ParseOutput(), QueueCommand(), RemoveTopCommand(), RunQueue(), and ~DebuggerDriver().
|
protected |
Definition at line 212 of file debuggerdriver.h.
Referenced by AddDirectory(), ClearDirectories(), CDB_driver::GetCommonCommandLine(), and GDB_driver::Prepare().
|
protected |
Definition at line 232 of file debuggerdriver.h.
Referenced by GDB_driver::UpdateWatches().
|
protected |
Definition at line 218 of file debuggerdriver.h.
Referenced by NotifyCursorChanged(), and ResetCursor().
|
protected |
Definition at line 209 of file debuggerdriver.h.
Referenced by DebugLog(), GDB_driver::GetCommandLine(), GetDebugger(), GDB_driver::GetRemoteDebuggingInfo(), GDB_driver::HandleMainBreakPoint(), Log(), NotifyCursorChanged(), NotifyDebuggeeContinued(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), GDB_driver::Prepare(), RunQueue(), ShowFile(), CDB_driver::Start(), GDB_driver::Start(), GDB_driver::Stop(), and GDB_driver::UpdateWatches().
|
protected |
Definition at line 217 of file debuggerdriver.h.
Referenced by IsProgramStopped(), MarkProgramStopped(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), and RunQueue().
|
protected |
Definition at line 225 of file debuggerdriver.h.
Referenced by IsQueueBusy(), CDB_driver::ParseOutput(), GDB_driver::ParseOutput(), CDB_driver::Prepare(), RemoveTopCommand(), and RunQueue().
|
protected |
Definition at line 228 of file debuggerdriver.h.
Referenced by GetThreads().
|
protected |
Definition at line 230 of file debuggerdriver.h.
Referenced by GetUserSelectedFrame(), ResetCurrentFrame(), and SetCurrentFrame().
|
protected |
Definition at line 213 of file debuggerdriver.h.
Referenced by GetDebuggersWorkingDirectory(), and SetWorkingDirectory().