53 bool operator()(
const cb::shared_ptr<DebuggerBreakpoint> &bp)
const 104 bool temp,
const wxString& lineText)
118 bp->filename = bpfile;
119 bp->filenameAsPassed = file;
121 bp->temporary = temp;
122 bp->lineText = lineText;
133 bp->breakAddress = dataAddr;
134 bp->breakOnRead = onRead;
135 bp->breakOnWrite = onWrite;
147 bp->filename = bpfile;
176 std::advance(it, idx);
177 cb::shared_ptr<DebuggerBreakpoint> bp = *it;
198 bool operator()(
const cb::shared_ptr<DebuggerBreakpoint> &bp)
200 return static_cast<cbProject*
>(bp->userData) == project;
211 for (BreakpointsList::iterator it = start; it !=
m_Breakpoints.end(); ++it)
223 bp->line += nroflines;
227 bp->line += nroflines;
246 return cb::shared_ptr<DebuggerBreakpoint>();
254 if ((*it)->index == num)
257 return cb::shared_ptr<DebuggerBreakpoint>();
264 if ((*it)->index == num)
267 return cb::shared_ptr<DebuggerBreakpoint>();
282 bool operator()(
const cb::shared_ptr<DebuggerBreakpoint> &bp)
const 284 return bp->temporary && bp->alreadySet;
virtual void RemoveBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)=0
Remove a breakpoint.
MatchProject(cbProject *project_in)
bool operator()(const cb::shared_ptr< DebuggerBreakpoint > &bp) const
int AddBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)
static Manager * Get()
Use Manager::Get() to get a pointer to its instance Manager::Get() is guaranteed to never return an i...
void ShiftBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp, int nroflines)
Debugger breakpoint interface.
bool StartDriver(ProjectBuildTarget *target)
bool operator()(const cb::shared_ptr< DebuggerBreakpoint > &bp)
void Log(const wxString &msg, Logger::level level=Logger::info)
virtual void SetTarget(ProjectBuildTarget *target)=0
Sets the target.
void RemoveBreakpoint(int idx, bool removeFromDriver=true)
wxString filename
The filename for the breakpoint (kept as relative).
int line
The line for the breakpoint.
void RemoveAllBreakpoints()
DebuggerState(DebuggerGDB *plugin)
ProjectManager * GetProjectManager() const
Functions returning pointers to the respective sub-manager instances.
DebuggerDriver * m_pDriver
Represents a Code::Blocks project.
cb::shared_ptr< DebuggerBreakpoint > GetBreakpointByNumber(int num)
wxString ConvertToValidFilename(const wxString &filename)
size_t Replace(const wxString &strOld, const wxString &strNew, bool replaceAll=true)
int HasBreakpoint(const wxString &file, int line, bool temp)
virtual void AddBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)=0
Add a breakpoint.
DebuggerConfiguration & GetActiveConfigEx()
const wxString & _(const wxString &string)
Normal file/line breakpoint.
void RemoveAllProjectBreakpoints(cbProject *prj)
DebuggerDriver * GetDriver()
Will always return a driver, or throw a code assertion error.
BreakpointsList m_Breakpoints
wxString filenameAsPassed
The filename for the breakpoint as passed to the debugger (i.e. full filename).
cbProject * FindProjectForFile(const wxString &file, ProjectFile **resultFile, bool isRelative, bool isUnixFilename)
Return the project which has the file in it, also return the pointer to the ProjectFile object...
Represents a Code::Blocks project build target.
void ResetBreakpoint(cb::shared_ptr< DebuggerBreakpoint > bp)
bool HasDriver() const
Check so see if Driver exists before getting it.
bool temporary
Is this a temporary (one-shot) breakpoint?
bool operator()(const cb::shared_ptr< DebuggerBreakpoint > &bp) const
cb::shared_ptr< DebuggerBreakpoint > GetBreakpoint(int idx)