40 static wxRegEx reFile(
_T(
"[ \t]([A-z]+.*)[ \t]+\\[([A-z]:)(.*) @ ([0-9]+)\\]"));
71 cmd <<
m_Dirs[i] << wxPATH_SEP;
74 cmd << _T(
" -srcpath ");
76 cmd <<
m_Dirs[i] << wxPATH_SEP;
192 if (
Manager::Get()->GetDebuggerManager()->UpdateBacktrace())
273 cb_unused cb::shared_ptr<GDBWatch> funcArgsWatch,
276 bool updateWatches =
false;
277 for (WatchesContainer::iterator it = watches.begin(); it != watches.end(); ++it)
279 WatchesContainer::reference watch = *it;
280 if (watch->IsAutoUpdateEnabled())
283 updateWatches =
true;
316 cb_unused
bool locals)
335 buffer << output <<
_T(
'\n');
350 if (buffer[buffer.
Length() - 1] == _T(
'\n'))
360 bool notifyChange =
false;
365 for (
unsigned int i = 0; i < lines.
GetCount(); ++i)
369 if (lines[i].StartsWith(_T(
"Cannot execute ")))
373 else if (lines[i].Contains(_T(
"Access violation")))
384 else if (notifyChange)
DLLIMPORT wxArrayString GetArrayFromString(const wxString &text, const wxString &separator=DEFAULT_ARRAY_SEP, bool trimSpaces=true)
Command to remove a breakpoint.
static void Display(const wxString &title, const wxString &message, unsigned int delay=5000, unsigned int hysteresis=1)
virtual void Attach(int pid)
Attach to process.
virtual void Stop()
Stop debugging.
void NotifyCursorChanged()
Called by implementations to notify cursor changes.
bool ShowBacktraceDialog()
virtual void AddBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)
Add a breakpoint.
virtual void RunningThreads()
static Manager * Get()
Use Manager::Get() to get a pointer to its instance Manager::Get() is guaranteed to never return an i...
virtual void SetNextStatement(const wxString &filename, int line)
virtual void EvaluateSymbol(const wxString &symbol, const wxRect &tipRect)
Evaluate a symbol.
Base class for all Continue type of commands.
virtual void CPURegisters()
void RunQueue()
runs the next command in the queue, if it is idle
std::vector< cb::shared_ptr< GDBWatch > > WatchesContainer
Command to continue execution and notify the debugger plugin.
static wxRegEx reFile(_T("[ \([A-z]+.*)[ \+\([A-z]:)(.*) @ ([0-9]+)\"))
virtual void ParseOutput(const wxString &output)
Parse debugger's output.
virtual void SetTarget(ProjectBuildTarget *target)
Sets the target.
void EnableCatchingThrow(bool enable)
bool Matches(const wxString &text, int flags=0) const
virtual void Start(bool breakOnEntry)
Begin the debugging process by launching a program.
bool IsAbsolute(wxPathFormat format=wxPATH_NATIVE) const
wxString & Remove(size_t pos)
virtual void SwitchToFrame(size_t number)
void RemoveTopCommand(bool deleteIt=true)
removes the top command (it has finished)
virtual void Detach()
Detach from running process.
Action-only debugger command to signal the watches tree to update.
void Log(const wxString &msg)
Command to run a backtrace.
virtual cbProject * GetParentProject()
void DoBacktrace(bool switchToFirst)
virtual void StepInstruction()
virtual void UpdateWatch(cb::shared_ptr< GDBWatch > const &watch)
virtual TargetType GetTargetType() const
Read the target's type.
virtual void Disassemble()
DebuggerManager * GetDebuggerManager() const
Command to find the PID of the active child.
#define NOT_IMPLEMENTED()
virtual void SetVarValue(const wxString &var, const wxString &value)
void ResetCursor()
Called by implementations to reset the cursor.
wxString Left(size_t count) const
virtual void StepIntoInstruction()
virtual void UpdateWatches(cb::shared_ptr< GDBWatch > localsWatch, cb::shared_ptr< GDBWatch > funcArgsWatch, WatchesContainer &watches)
Update watches.
wxString GetCommonCommandLine(const wxString &debugger)
bool GetMatch(size_t *start, size_t *len, size_t index=0) const
virtual void UpdateWatchLocalsArgs(cb::shared_ptr< GDBWatch > const &watch, bool locals)
virtual wxString GetBasePath() const
Read the target's base path, e.g. if GetFilename() returns "/usr/local/bin/xxx", base path will retur...
CDB_driver(DebuggerGDB *plugin)
void QueueCommand(DebuggerCmd *dcmd, QueuePriority prio=Low)
add a command in the queue. The DebuggerCmd will be deleted automatically when finished.
bool IsTemporaryBreak() const
DebuggerConfiguration & GetActiveConfigEx()
Command to get info about a watched variable.
Command to run a disassembly.
const wxString & _(const wxString &string)
int First(wxUniChar ch) const
virtual wxString GetCommandLine(const wxString &debugger, const wxString &debuggee, const wxString &userArguments)
Get the command-line to launch the debugger.
virtual void MemoryDump()
Target produces a console executable (without GUI) (distinction between ttExecutable and ttConsoleOnl...
virtual void ParseOutput(const wxString &output)
Parses the command's output.
Command to add a breakpoint.
Represents a Code::Blocks project build target.
ProjectBuildTarget * m_Target
static wxRegEx rePrompt(_T("([0-9]+:){1,2}[0-9]+(:x86)?>"))
DebuggerCmd * CurrentCommand()
returns the currently executing command
virtual void Prepare(bool isConsole, int printElements)
Prepares the debugging process by setting up search dirs etc.
virtual bool IsDebuggingStarted() const
Is debugging started.
Basic interface for debugger commands.
static wxString Format(const wxString &format,...)
Command to run a disassembly.
Command to the detach from the process.
void DebugLog(const wxString &msg, Logger::level level=Logger::info)
virtual void RemoveBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)
Remove a breakpoint.
static wxRegEx reBP(_T("Breakpoint ([0-9]+) hit"))