29 struct TestIfBelogToProject;
55 cb::shared_ptr<const cbBreakpoint>
GetBreakpoint(
int index)
const;
64 cb::shared_ptr<const cbStackFrame>
GetStackFrame(
int index)
const;
70 cb::shared_ptr<const cbThread>
GetThread(
int index)
const;
73 bool Debug(
bool breakOnEntry);
93 bool HasWatch(cb::shared_ptr<cbWatch> watch);
150 int DoDebug(
bool breakOnEntry);
223 DECLARE_EVENT_TABLE()
226 #endif // DEBUGGERGDB_H
void ConvertDirectory(wxString &str, wxString base, bool relative)
void AttachToProcess(const wxString &pid)
wxArrayString & GetSearchDirs(cbProject *prj)
bool SetWatchValue(cb::shared_ptr< cbWatch > watch, const wxString &value)
int GetStackFrameCount() const
SearchDirsMap m_SearchDirs
cb::shared_ptr< const cbStackFrame > GetStackFrame(int index) const
cb::shared_ptr< cbBreakpoint > AddBreakpoint(const wxString &filename, int line)
Request to add a breakpoint.
bool Validate(const wxString &line, const char cb)
void DeleteBreakpoint(cb::shared_ptr< cbBreakpoint > breakpoint)
wxObject * m_watchToDereferenceProperty
Base class for debugger plugins.
void DoBreak(bool temporary)
void DeleteAllProjectBreakpoints(cbProject *project)
void OnProjectLoadingHook(cbProject *project, TiXmlElement *elem, bool loading)
void OnTimer(wxTimerEvent &event)
void DeleteAllBreakpoints()
void OnInfoDLL(wxCommandEvent &event)
wxTimer m_TimerPollDebugger
void MarkAllWatchesAsUnchanged()
bool IsStopped() const
Is the plugin stopped on breakpoint?
cb::shared_ptr< cbWatch > AddWatch(const wxString &symbol)
std::map< cbProject *, RemoteDebuggingMap > ProjectRemoteDebuggingMap
std::vector< cb::shared_ptr< GDBWatch > > WatchesContainer
void Stop()
Stop the debugging process (exit debugging).
void CollapseWatch(cb::shared_ptr< cbWatch > watch)
wxString m_watchToDereferenceSymbol
void RequestUpdate(DebugWindows window)
void DoSendCommand(const wxString &cmd)
void SwitchToFrame(int number)
static void ConvertToGDBFile(wxString &str)
wxString m_ActiveBuildTarget
static void StripQuotes(wxString &str)
void Next()
Execute the next instruction and return control to the debugger.
bool IsBusy() const
Is the plugin processing something?
bool Debug(bool breakOnEntry)
Start a new debugging process.
void ExpandWatch(cb::shared_ptr< cbWatch > watch)
static void ConvertToGDBFriendly(wxString &str)
void OnCursorChanged(wxCommandEvent &event)
void OnReleaseReal(bool appShutDown)
A generic Code::Blocks event.
void ParseOutput(const wxString &output)
bool CompilerFinished(bool compilerFailed, StartType startType)
Called when the compilation has finished.
int GetThreadsCount() const
int GetActiveStackFrame() const
void CleanupWhenProjectClosed(cbProject *project)
static void ConvertToGDBDirectory(wxString &str, wxString base=_T(""), bool relative=true)
PipedProcess * m_pProcess
cb::shared_ptr< const cbThread > GetThread(int index) const
bool IsAttachedToProcess() const
void StepOut()
Execute the next instruction, stepping out of function calls if needed, and return control to the deb...
bool SupportsFeature(cbDebuggerFeature::Flags flag)
void GetCurrentPosition(wxString &filename, int &line)
Represents a Code::Blocks project.
void Continue()
Continue running the debugged program.
void OnCatchThrow(wxCommandEvent &event)
int GetBreakpointsCount() const
void SendCommand(const wxString &cmd, bool debugLog)
void DeleteWatch(cb::shared_ptr< cbWatch > watch)
void CheckIfConsoleIsClosed()
void OnConfigurationChange(bool isActive)
Called when the user clicks OK in Settings -> Debugger...
ProjectRemoteDebuggingMap m_RemoteDebugging
void Break()
Break the debugging process (stop the debuggee for debugging).
void ShowWatchProperties(cb::shared_ptr< cbWatch > watch)
DebuggerState & GetState()
void OnPrintElements(wxCommandEvent &event)
void UpdateWatch(cb::shared_ptr< cbWatch > watch)
int GetExitCode() const
Get the exit code of the last debug process.
int LaunchProcess(const wxString &cmd, const wxString &cwd)
void UpdateBreakpoint(cb::shared_ptr< cbBreakpoint > breakpoint)
void OnInfoFPU(wxCommandEvent &event)
bool IsTemporaryBreak() const
void OnAddSymbolFile(wxCommandEvent &event)
DebuggerConfiguration & GetActiveConfigEx()
void AddWatchNoUpdate(const cb::shared_ptr< GDBWatch > &watch)
void OnShowFile(wxCommandEvent &event)
Base class for plugin configuration panels.
friend struct TestIfBelongToProject
const wxString g_EscapeChar
Abstract base class for compilers.
void OnGDBError(wxCommandEvent &event)
void ShiftBreakpoint(int index, int lines_to_shift)
void OnInfoFiles(wxCommandEvent &event)
bool m_stopDebuggerConsoleClosed
bool HasWatch(cb::shared_ptr< cbWatch > watch)
void OnInfoFrame(wxCommandEvent &event)
void OnInfoSignals(wxCommandEvent &event)
int DoDebug(bool breakOnEntry)
RemoteDebuggingMap & GetRemoteDebuggingMap(cbProject *project=0)
cbDebuggerConfiguration * LoadConfig(const ConfigManagerWrapper &config)
void AddSourceDir(const wxString &dir)
void StepIntoInstruction()
Execute the next instruction and return control to the debugger, if the instruction is a function cal...
void OnGDBTerminated(wxCommandEvent &event)
int LaunchProcessWithShell(const wxString &cmd, wxProcess *process, const wxString &cwd)
cbConfigurationPanel * GetProjectConfigurationPanel(wxWindow *parent, cbProject *project)
cb::shared_ptr< cbBreakpoint > GetBreakpoint(int index)
void OnBuildTargetSelected(CodeBlocksEvent &event)
std::map< cbProject *, wxArrayString > SearchDirsMap
void OnIdle(wxIdleEvent &event)
bool RunToCursor(const wxString &filename, int line, const wxString &line_text)
Run the debugged program until it reaches the cursor at the current editor.
void EnableBreakpoint(cb::shared_ptr< cbBreakpoint > breakpoint, bool enable)
void SetNextStatement(const wxString &filename, int line)
Sets the position of the Program counter to the specified filename:line.
cb::shared_ptr< cbBreakpoint > AddDataBreakpoint(const wxString &dataExpression)
Request to add a breakpoint based on a data expression.
WatchesContainer m_watches
void OnGDBOutput(wxCommandEvent &event)
cb::shared_ptr< GDBWatch > m_funcArgsWatch
std::map< ProjectBuildTarget *, RemoteDebugging > RemoteDebuggingMap
cb::shared_ptr< GDBWatch > m_localsWatch
void NextInstruction()
Execute the next instruction and return control to the debugger.
Basic interface for debugger commands.
void Step()
Execute the next instruction, stepping into function calls if needed, and return control to the debug...
Wrapper class for reading or writing config values, without the need for the full path...
void OnUpdateCatchThrow(wxUpdateUIEvent &event)
bool IsRunning() const
Is the plugin currently debugging?
bool SwitchToThread(int thread_number)