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

Base class for debugger plugins. More...

#include <cbplugin.h>

Inheritance diagram for cbDebuggerPlugin:
Collaboration diagram for cbDebuggerPlugin:

Classes

struct  WatchesDisabledMenuItems
 

Public Types

enum  DebugWindows {
  Backtrace, CPURegisters, Disassembly, ExamineMemory,
  Threads, Watches
}
 
enum  SyncEditorResult { SyncOk = 0, SyncFileNotFound, SyncFileUnknown }
 

Public Member Functions

 cbDebuggerPlugin (const wxString &guiName, const wxString &settingsName)
 
void OnAttach () override
 Any descendent plugin should override this virtual method and perform any necessary initialization. More...
 
void OnRelease (bool appShutDown) override
 
void BuildMenu (wxMenuBar *menuBar) override
 
void BuildModuleMenu (const ModuleType type, wxMenu *menu, const FileTreeData *data=nullptr) override
 
bool BuildToolBar (wxToolBar *toolBar) override
 
virtual void EditorLinesAddedOrRemoved (cbEditor *editor, int startline, int lines)
 Notify the debugger that lines were added or removed in an editor. More...
 
virtual void OnAttachReal ()=0
 
virtual void OnReleaseReal (bool appShutDown)=0
 
virtual void SetupToolsMenu (wxMenu &menu)=0
 
virtual bool ToolMenuEnabled () const
 
virtual bool SupportsFeature (cbDebuggerFeature::Flags flag)=0
 
virtual cbDebuggerConfigurationLoadConfig (const ConfigManagerWrapper &config)=0
 
cbDebuggerConfigurationGetActiveConfig ()
 
void SetActiveConfig (int index)
 
int GetIndexOfActiveConfig () const
 
virtual void OnConfigurationChange (bool isActive)
 Called when the user clicks OK in Settings -> Debugger... More...
 
virtual bool Debug (bool breakOnEntry)=0
 Start a new debugging process. More...
 
virtual void Continue ()=0
 Continue running the debugged program. More...
 
virtual bool RunToCursor (const wxString &filename, int line, const wxString &line_text)=0
 Run the debugged program until it reaches the cursor at the current editor. More...
 
virtual void SetNextStatement (const wxString &filename, int line)=0
 Sets the position of the Program counter to the specified filename:line. More...
 
virtual void Next ()=0
 Execute the next instruction and return control to the debugger. More...
 
virtual void NextInstruction ()=0
 Execute the next instruction and return control to the debugger. More...
 
virtual void StepIntoInstruction ()=0
 Execute the next instruction and return control to the debugger, if the instruction is a function call step into it. More...
 
virtual void Step ()=0
 Execute the next instruction, stepping into function calls if needed, and return control to the debugger. More...
 
virtual void StepOut ()=0
 Execute the next instruction, stepping out of function calls if needed, and return control to the debugger. More...
 
virtual void Break ()=0
 Break the debugging process (stop the debuggee for debugging). More...
 
virtual void Stop ()=0
 Stop the debugging process (exit debugging). More...
 
virtual bool IsRunning () const =0
 Is the plugin currently debugging? More...
 
virtual bool IsStopped () const =0
 Is the plugin stopped on breakpoint? More...
 
virtual bool IsBusy () const =0
 Is the plugin processing something? More...
 
virtual int GetExitCode () const =0
 Get the exit code of the last debug process. More...
 
virtual int GetStackFrameCount () const =0
 
virtual cb::shared_ptr< const cbStackFrameGetStackFrame (int index) const =0
 
virtual void SwitchToFrame (int number)=0
 
virtual int GetActiveStackFrame () const =0
 
virtual cb::shared_ptr< cbBreakpointAddBreakpoint (const wxString &filename, int line)=0
 Request to add a breakpoint. More...
 
virtual cb::shared_ptr< cbBreakpointAddDataBreakpoint (const wxString &dataExpression)=0
 Request to add a breakpoint based on a data expression. More...
 
virtual int GetBreakpointsCount () const =0
 
virtual cb::shared_ptr< cbBreakpointGetBreakpoint (int index)=0
 
virtual cb::shared_ptr< const cbBreakpointGetBreakpoint (int index) const =0
 
virtual void UpdateBreakpoint (cb::shared_ptr< cbBreakpoint > breakpoint)=0
 
virtual void DeleteBreakpoint (cb::shared_ptr< cbBreakpoint > breakpoint)=0
 
virtual void DeleteAllBreakpoints ()=0
 
virtual void ShiftBreakpoint (int index, int lines_to_shift)=0
 
virtual void EnableBreakpoint (cb::shared_ptr< cbBreakpoint > breakpoint, bool enable)=0
 
virtual int GetThreadsCount () const =0
 
virtual cb::shared_ptr< const cbThreadGetThread (int index) const =0
 
virtual bool SwitchToThread (int thread_number)=0
 
virtual cb::shared_ptr< cbWatchAddWatch (const wxString &symbol)=0
 
virtual void DeleteWatch (cb::shared_ptr< cbWatch > watch)=0
 
virtual bool HasWatch (cb::shared_ptr< cbWatch > watch)=0
 
virtual void ShowWatchProperties (cb::shared_ptr< cbWatch > watch)=0
 
virtual bool SetWatchValue (cb::shared_ptr< cbWatch > watch, const wxString &value)=0
 
virtual void ExpandWatch (cb::shared_ptr< cbWatch > watch)=0
 
virtual void CollapseWatch (cb::shared_ptr< cbWatch > watch)=0
 
virtual void UpdateWatch (cb::shared_ptr< cbWatch > watch)=0
 
virtual void OnWatchesContextMenu (wxMenu &menu, const cbWatch &watch, wxObject *property, int &disabledMenus)
 
virtual void SendCommand (const wxString &cmd, bool debugLog)=0
 
virtual void AttachToProcess (const wxString &pid)=0
 
virtual void DetachFromProcess ()=0
 
virtual bool IsAttachedToProcess () const =0
 
virtual void GetCurrentPosition (wxString &filename, int &line)=0
 
virtual void OnValueTooltip (const wxString &token, const wxRect &evalRect)
 
virtual bool ShowValueTooltip (int style)
 
virtual void RequestUpdate (DebugWindows window)=0
 
virtual wxString GetEditorWordAtCaret (const wxPoint *mousePosition=NULL)
 
void ClearActiveMarkFromAllEditors ()
 
SyncEditorResult SyncEditor (const wxString &filename, int line, bool setMarker=true)
 
void BringCBToFront ()
 
void ShowLog (bool clear)
 
void Log (const wxString &msg, Logger::level level=Logger::info)
 
void DebugLog (const wxString &msg, Logger::level level=Logger::info)
 
bool HasDebugLog () const
 
void ClearLog ()
 
void SetupLog (int normalIndex)
 
wxString GetGUIName () const
 
wxString GetSettingsName () const
 
- Public Member Functions inherited from cbPlugin
 cbPlugin ()
 In default cbPlugin's constructor the associated PluginInfo structure is filled with default values. More...
 
 ~cbPlugin () override
 cbPlugin destructor. More...
 
virtual PluginType GetType () const
 The plugin must return its type on request. More...
 
virtual int GetConfigurationPriority () const
 Return the plugin's configuration priority. More...
 
virtual int GetConfigurationGroup () const
 Return the configuration group for this plugin. More...
 
virtual cbConfigurationPanelGetConfigurationPanel (cb_optional wxWindow *parent)
 Return plugin's configuration panel. More...
 
virtual cbConfigurationPanelGetProjectConfigurationPanel (cb_optional wxWindow *parent, cb_optional cbProject *project)
 Return plugin's configuration panel for projects. More...
 
virtual void BuildMenu (cb_optional wxMenuBar *menuBar)
 This method is called by Code::Blocks and is used by the plugin to add any menu items it needs on Code::Blocks's menu bar. More...
 
virtual void BuildModuleMenu (cb_optional const ModuleType type, cb_optional wxMenu *menu, cb_optional const FileTreeData *data=nullptr)
 This method is called by Code::Blocks core modules (EditorManager, ProjectManager etc) and is used by the plugin to add any menu items it needs in the module's popup menu. More...
 
virtual bool BuildToolBar (cb_optional wxToolBar *toolBar)
 This method is called by Code::Blocks and is used by the plugin to add any toolbar items it needs on Code::Blocks's toolbar. More...
 
virtual int GetToolBarPriority ()
 This method return the priority of the plugin's toolbar, the less value indicates a more preceding position when C::B starts with no configuration file. More...
 
virtual void CreateStatusField (cbStatusBar *statusBar)
 This method is called by Code::Blocks and is used by the plugin to add a field on Code::Blocks's statusbar. More...
 
bool IsAttached () const
 See whether this plugin is attached or not. More...
 
virtual bool CanDetach () const
 See whether this plugin can be detached (unloaded) or not. More...
 

Protected Types

enum  StartType { StartTypeUnknown = 0, StartTypeRun, StartTypeStepInto }
 

Protected Member Functions

virtual void ConvertDirectory (wxString &str, wxString base=_T(""), bool relative=true)=0
 
virtual cbProjectGetProject ()=0
 
virtual void ResetProject ()=0
 
virtual void CleanupWhenProjectClosed (cbProject *project)=0
 
virtual bool CompilerFinished (bool compilerFailed, StartType startType)
 Called when the compilation has finished. More...
 
void SwitchToDebuggingLayout ()
 
void SwitchToPreviousLayout ()
 
bool GetDebuggee (wxString &pathToDebuggee, wxString &workingDirectory, ProjectBuildTarget *target)
 
bool EnsureBuildUpToDate (StartType startType)
 
bool WaitingCompilerToFinish () const
 
int RunNixConsole (wxString &consoleTty)
 
void MarkAsStopped ()
 
- Protected Member Functions inherited from cbPlugin
virtual void OnRelease (cb_optional bool appShutDown)
 Any descendent plugin should override this virtual method and perform any necessary de-initialization. More...
 
virtual void NotImplemented (const wxString &log) const
 This method logs a "Not implemented" message and is provided for convenience only. More...
 

Private Member Functions

void RegisterValueTooltip ()
 
void ProcessValueTooltip (CodeBlocksEvent &event)
 
void CancelValueTooltip (CodeBlocksEvent &event)
 
void OnEditorOpened (CodeBlocksEvent &event)
 
void OnProjectActivated (CodeBlocksEvent &event)
 
void OnProjectClosed (CodeBlocksEvent &event)
 
void OnCompilerFinished (CodeBlocksEvent &event)
 

Private Attributes

wxString m_PreviousLayout
 
cbCompilerPluginm_pCompiler
 
bool m_WaitingCompilerToFinish
 
StartType m_StartType
 
int m_ActiveConfig
 
int m_LogPageIndex
 
bool m_lastLineWasNormal
 
wxString m_guiName
 
wxString m_settingsName
 

Additional Inherited Members

- Protected Attributes inherited from cbPlugin
PluginType m_Type
 Holds the plugin's type. More...
 
bool m_IsAttached
 Holds the "attached" state. More...
 

Detailed Description

Base class for debugger plugins.

This plugin type must offer some pre-defined debug facilities, on top of the generic plugin's.

Definition at line 397 of file cbplugin.h.

Member Enumeration Documentation

◆ DebugWindows

Enumerator
Backtrace 
CPURegisters 
Disassembly 
ExamineMemory 
Threads 
Watches 

Definition at line 581 of file cbplugin.h.

◆ StartType

Enumerator
StartTypeUnknown 
StartTypeRun 
StartTypeStepInto 

Definition at line 561 of file cbplugin.h.

◆ SyncEditorResult

Enumerator
SyncOk 
SyncFileNotFound 
SyncFileUnknown 

Definition at line 597 of file cbplugin.h.

Constructor & Destructor Documentation

◆ cbDebuggerPlugin()

cbDebuggerPlugin::cbDebuggerPlugin ( const wxString guiName,
const wxString settingsName 
)

Definition at line 127 of file cbplugin.cpp.

References cbPlugin::m_Type, and ptDebugger.

Member Function Documentation

◆ AddBreakpoint()

virtual cb::shared_ptr<cbBreakpoint> cbDebuggerPlugin::AddBreakpoint ( const wxString filename,
int  line 
)
pure virtual

Request to add a breakpoint.

Parameters
fileThe file to add the breakpoint based on a file/line pair.
lineThe line number to put the breakpoint in file.
Returns
True if succeeded, false if not.

Implemented in DebuggerGDB.

Referenced by BreakpointsDlg::AddBreakpoint(), and BreakpointsDlg::OnBreakpointAdd().

◆ AddDataBreakpoint()

virtual cb::shared_ptr<cbBreakpoint> cbDebuggerPlugin::AddDataBreakpoint ( const wxString dataExpression)
pure virtual

Request to add a breakpoint based on a data expression.

Parameters
dataExpressionThe data expression to add the breakpoint.
Returns
True if succeeded, false if not.

Implemented in DebuggerGDB.

Referenced by WatchesDlg::OnMenuAddDataBreak().

◆ AddWatch()

virtual cb::shared_ptr<cbWatch> cbDebuggerPlugin::AddWatch ( const wxString symbol)
pure virtual

◆ AttachToProcess()

virtual void cbDebuggerPlugin::AttachToProcess ( const wxString pid)
pure virtual

Implemented in DebuggerGDB.

Referenced by CodeBlocksApp::AttachDebugger().

◆ Break()

virtual void cbDebuggerPlugin::Break ( )
pure virtual

Break the debugging process (stop the debuggee for debugging).

Implemented in DebuggerGDB.

◆ BringCBToFront()

void cbDebuggerPlugin::BringCBToFront ( )

◆ BuildMenu()

void cbDebuggerPlugin::BuildMenu ( wxMenuBar menuBar)
override

◆ BuildModuleMenu()

void cbDebuggerPlugin::BuildModuleMenu ( const ModuleType  type,
wxMenu menu,
const FileTreeData data = nullptr 
)
override

◆ BuildToolBar()

bool cbDebuggerPlugin::BuildToolBar ( wxToolBar toolBar)
override

Definition at line 253 of file cbplugin.cpp.

◆ CancelValueTooltip()

void cbDebuggerPlugin::CancelValueTooltip ( CodeBlocksEvent event)
private

◆ CleanupWhenProjectClosed()

virtual void cbDebuggerPlugin::CleanupWhenProjectClosed ( cbProject project)
protectedpure virtual

Implemented in DebuggerGDB.

Referenced by OnProjectClosed().

◆ ClearActiveMarkFromAllEditors()

void cbDebuggerPlugin::ClearActiveMarkFromAllEditors ( )

◆ ClearLog()

void cbDebuggerPlugin::ClearLog ( )

◆ CollapseWatch()

virtual void cbDebuggerPlugin::CollapseWatch ( cb::shared_ptr< cbWatch watch)
pure virtual

◆ CompilerFinished()

virtual bool cbDebuggerPlugin::CompilerFinished ( bool  compilerFailed,
StartType  startType 
)
inlineprotectedvirtual

Called when the compilation has finished.

The compilation is started when EnsureBuildUpToDate is called.

Parameters
compilerFailedthe compilation failed for some reason.
startTypeit is the same value given to the Debug method, when the debugger session was started.
Returns
True if debug session is start, false if there are any errors or the users canceled the session.

Reimplemented in DebuggerGDB.

Definition at line 578 of file cbplugin.h.

Referenced by OnCompilerFinished().

◆ Continue()

virtual void cbDebuggerPlugin::Continue ( )
pure virtual

Continue running the debugged program.

Implemented in DebuggerGDB.

◆ ConvertDirectory()

virtual void cbDebuggerPlugin::ConvertDirectory ( wxString str,
wxString  base = _T(""),
bool  relative = true 
)
protectedpure virtual

Implemented in DebuggerGDB.

Referenced by GetDebuggee().

◆ Debug()

virtual bool cbDebuggerPlugin::Debug ( bool  breakOnEntry)
pure virtual

Start a new debugging process.

Implemented in DebuggerGDB.

◆ DebugLog()

void cbDebuggerPlugin::DebugLog ( const wxString msg,
Logger::level  level = Logger::info 
)

◆ DeleteAllBreakpoints()

virtual void cbDebuggerPlugin::DeleteAllBreakpoints ( )
pure virtual

Implemented in DebuggerGDB.

◆ DeleteBreakpoint()

virtual void cbDebuggerPlugin::DeleteBreakpoint ( cb::shared_ptr< cbBreakpoint breakpoint)
pure virtual

◆ DeleteWatch()

virtual void cbDebuggerPlugin::DeleteWatch ( cb::shared_ptr< cbWatch watch)
pure virtual

◆ DetachFromProcess()

virtual void cbDebuggerPlugin::DetachFromProcess ( )
pure virtual

Implemented in DebuggerGDB.

◆ EditorLinesAddedOrRemoved()

void cbDebuggerPlugin::EditorLinesAddedOrRemoved ( cbEditor editor,
int  startline,
int  lines 
)
virtual

Notify the debugger that lines were added or removed in an editor.

This causes the debugger to keep the breakpoints list in-sync with the editors (i.e. what the user sees).

Parameters
editorThe editor in question.
startlineThe starting line this change took place.
linesThe number of lines added or removed. If it's a positive number, lines were added. If it's a negative number, lines were removed.

Definition at line 373 of file cbplugin.cpp.

References DeleteBreakpoint(), GetBreakpoint(), GetBreakpointsCount(), EditorBase::GetFilename(), and ShiftBreakpoint().

Referenced by cbEditor::OnEditorModified().

◆ EnableBreakpoint()

virtual void cbDebuggerPlugin::EnableBreakpoint ( cb::shared_ptr< cbBreakpoint breakpoint,
bool  enable 
)
pure virtual

Implemented in DebuggerGDB.

Referenced by BreakpointsDlg::OnEnable().

◆ EnsureBuildUpToDate()

bool cbDebuggerPlugin::EnsureBuildUpToDate ( StartType  startType)
protected

◆ ExpandWatch()

virtual void cbDebuggerPlugin::ExpandWatch ( cb::shared_ptr< cbWatch watch)
pure virtual

Implemented in DebuggerGDB.

Referenced by WatchesDlg::OnExpand(), and ValueTooltip::OnExpand().

◆ GetActiveConfig()

cbDebuggerConfiguration & cbDebuggerPlugin::GetActiveConfig ( )

◆ GetActiveStackFrame()

virtual int cbDebuggerPlugin::GetActiveStackFrame ( ) const
pure virtual

Implemented in DebuggerGDB.

Referenced by BacktraceDlg::Reload().

◆ GetBreakpoint() [1/2]

virtual cb::shared_ptr<cbBreakpoint> cbDebuggerPlugin::GetBreakpoint ( int  index)
pure virtual

◆ GetBreakpoint() [2/2]

virtual cb::shared_ptr<const cbBreakpoint> cbDebuggerPlugin::GetBreakpoint ( int  index) const
pure virtual

Implemented in DebuggerGDB.

◆ GetBreakpointsCount()

virtual int cbDebuggerPlugin::GetBreakpointsCount ( ) const
pure virtual

◆ GetCurrentPosition()

virtual void cbDebuggerPlugin::GetCurrentPosition ( wxString filename,
int &  line 
)
pure virtual

Implemented in DebuggerGDB.

Referenced by OnEditorOpened().

◆ GetDebuggee()

bool cbDebuggerPlugin::GetDebuggee ( wxString pathToDebuggee,
wxString workingDirectory,
ProjectBuildTarget target 
)
protected

◆ GetEditorWordAtCaret()

wxString cbDebuggerPlugin::GetEditorWordAtCaret ( const wxPoint mousePosition = NULL)
virtual

◆ GetExitCode()

virtual int cbDebuggerPlugin::GetExitCode ( ) const
pure virtual

Get the exit code of the last debug process.

Implemented in DebuggerGDB.

◆ GetGUIName()

wxString cbDebuggerPlugin::GetGUIName ( ) const
inline

◆ GetIndexOfActiveConfig()

int cbDebuggerPlugin::GetIndexOfActiveConfig ( ) const

Definition at line 285 of file cbplugin.cpp.

References m_ActiveConfig.

◆ GetProject()

virtual cbProject* cbDebuggerPlugin::GetProject ( )
protectedpure virtual

Implemented in DebuggerGDB.

Referenced by OnProjectActivated(), and OnProjectClosed().

◆ GetSettingsName()

wxString cbDebuggerPlugin::GetSettingsName ( ) const
inline

◆ GetStackFrame()

virtual cb::shared_ptr<const cbStackFrame> cbDebuggerPlugin::GetStackFrame ( int  index) const
pure virtual

Implemented in DebuggerGDB.

Referenced by BacktraceDlg::Reload().

◆ GetStackFrameCount()

virtual int cbDebuggerPlugin::GetStackFrameCount ( ) const
pure virtual

Implemented in DebuggerGDB.

Referenced by BacktraceDlg::Reload().

◆ GetThread()

virtual cb::shared_ptr<const cbThread> cbDebuggerPlugin::GetThread ( int  index) const
pure virtual

Implemented in DebuggerGDB.

Referenced by ThreadsDlg::Reload().

◆ GetThreadsCount()

virtual int cbDebuggerPlugin::GetThreadsCount ( ) const
pure virtual

Implemented in DebuggerGDB.

Referenced by ThreadsDlg::Reload().

◆ HasDebugLog()

bool cbDebuggerPlugin::HasDebugLog ( ) const

◆ HasWatch()

virtual bool cbDebuggerPlugin::HasWatch ( cb::shared_ptr< cbWatch watch)
pure virtual

Implemented in DebuggerGDB.

◆ IsAttachedToProcess()

virtual bool cbDebuggerPlugin::IsAttachedToProcess ( ) const
pure virtual

◆ IsBusy()

virtual bool cbDebuggerPlugin::IsBusy ( ) const
pure virtual

Is the plugin processing something?

Implemented in DebuggerGDB.

◆ IsRunning()

virtual bool cbDebuggerPlugin::IsRunning ( ) const
pure virtual

◆ IsStopped()

virtual bool cbDebuggerPlugin::IsStopped ( ) const
pure virtual

◆ LoadConfig()

virtual cbDebuggerConfiguration* cbDebuggerPlugin::LoadConfig ( const ConfigManagerWrapper config)
pure virtual

◆ Log()

void cbDebuggerPlugin::Log ( const wxString msg,
Logger::level  level = Logger::info 
)

◆ MarkAsStopped()

void cbDebuggerPlugin::MarkAsStopped ( )
protected

◆ Next()

virtual void cbDebuggerPlugin::Next ( )
pure virtual

Execute the next instruction and return control to the debugger.

Implemented in DebuggerGDB.

◆ NextInstruction()

virtual void cbDebuggerPlugin::NextInstruction ( )
pure virtual

Execute the next instruction and return control to the debugger.

Implemented in DebuggerGDB.

◆ OnAttach()

void cbDebuggerPlugin::OnAttach ( )
overridevirtual

Any descendent plugin should override this virtual method and perform any necessary initialization.

This method is called by Code::Blocks (PluginManager actually) when the plugin has been loaded and should attach in Code::Blocks. When Code::Blocks starts up, it finds and loads all plugins but does not activate (attaches) them. It then activates all plugins that the user has selected to be activated on start-up.
This means that a plugin might be loaded but not activated...
Think of this method as the actual constructor...

Reimplemented from cbPlugin.

Definition at line 141 of file cbplugin.cpp.

References cbEVT_COMPILER_FINISHED, cbEVT_EDITOR_OPEN, cbEVT_PROJECT_ACTIVATE, cbEVT_PROJECT_CLOSE, Manager::Get(), Manager::GetDebuggerManager(), m_StartType, OnAttachReal(), OnCompilerFinished(), OnEditorOpened(), OnProjectActivated(), OnProjectClosed(), DebuggerManager::RegisterDebugger(), Manager::RegisterEventSink(), RegisterValueTooltip(), StartTypeUnknown, SupportsFeature(), and cbDebuggerFeature::ValueTooltips.

◆ OnAttachReal()

virtual void cbDebuggerPlugin::OnAttachReal ( )
pure virtual

Implemented in DebuggerGDB.

Referenced by OnAttach().

◆ OnCompilerFinished()

void cbDebuggerPlugin::OnCompilerFinished ( CodeBlocksEvent event)
private

◆ OnConfigurationChange()

virtual void cbDebuggerPlugin::OnConfigurationChange ( bool  isActive)
inlinevirtual

Called when the user clicks OK in Settings -> Debugger...

Reimplemented in DebuggerGDB.

Definition at line 435 of file cbplugin.h.

References UpdateWatch().

◆ OnEditorOpened()

void cbDebuggerPlugin::OnEditorOpened ( CodeBlocksEvent event)
private

◆ OnProjectActivated()

void cbDebuggerPlugin::OnProjectActivated ( CodeBlocksEvent event)
private

◆ OnProjectClosed()

void cbDebuggerPlugin::OnProjectClosed ( CodeBlocksEvent event)
private

◆ OnRelease()

void cbDebuggerPlugin::OnRelease ( bool  appShutDown)
override

◆ OnReleaseReal()

virtual void cbDebuggerPlugin::OnReleaseReal ( bool  appShutDown)
pure virtual

Implemented in DebuggerGDB.

Referenced by OnRelease().

◆ OnValueTooltip()

void cbDebuggerPlugin::OnValueTooltip ( const wxString token,
const wxRect evalRect 
)
virtual

Reimplemented in DebuggerGDB.

Definition at line 934 of file cbplugin.cpp.

Referenced by ProcessValueTooltip().

◆ OnWatchesContextMenu()

virtual void cbDebuggerPlugin::OnWatchesContextMenu ( wxMenu menu,
const cbWatch watch,
wxObject property,
int &  disabledMenus 
)
inlinevirtual
Parameters
[out]disabledMenusA combination of WatchesDisabledMenuItems, which controls which of the default menu items are disabled

Reimplemented in DebuggerGDB.

Definition at line 541 of file cbplugin.h.

Referenced by WatchesDlg::OnPropertyRightClick().

◆ ProcessValueTooltip()

void cbDebuggerPlugin::ProcessValueTooltip ( CodeBlocksEvent event)
private

◆ RegisterValueTooltip()

void cbDebuggerPlugin::RegisterValueTooltip ( )
private

◆ RequestUpdate()

virtual void cbDebuggerPlugin::RequestUpdate ( DebugWindows  window)
pure virtual

◆ ResetProject()

virtual void cbDebuggerPlugin::ResetProject ( )
protectedpure virtual

Implemented in DebuggerGDB.

Referenced by OnProjectClosed().

◆ RunNixConsole()

int cbDebuggerPlugin::RunNixConsole ( wxString consoleTty)
protected

◆ RunToCursor()

virtual bool cbDebuggerPlugin::RunToCursor ( const wxString filename,
int  line,
const wxString line_text 
)
pure virtual

Run the debugged program until it reaches the cursor at the current editor.

Implemented in DebuggerGDB.

◆ SendCommand()

virtual void cbDebuggerPlugin::SendCommand ( const wxString cmd,
bool  debugLog 
)
pure virtual

◆ SetActiveConfig()

void cbDebuggerPlugin::SetActiveConfig ( int  index)

◆ SetNextStatement()

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

Sets the position of the Program counter to the specified filename:line.

Implemented in DebuggerGDB.

◆ SetupLog()

void cbDebuggerPlugin::SetupLog ( int  normalIndex)

Definition at line 561 of file cbplugin.cpp.

References m_LogPageIndex.

Referenced by DebuggerSettingsDlg::OnOK(), and DebuggerManager::RegisterDebugger().

◆ SetupToolsMenu()

virtual void cbDebuggerPlugin::SetupToolsMenu ( wxMenu menu)
pure virtual

Implemented in DebuggerGDB.

Referenced by DebuggerToolbarHandler::OnToolInfo().

◆ SetWatchValue()

virtual bool cbDebuggerPlugin::SetWatchValue ( cb::shared_ptr< cbWatch watch,
const wxString value 
)
pure virtual

Implemented in DebuggerGDB.

Referenced by SetValue().

◆ ShiftBreakpoint()

virtual void cbDebuggerPlugin::ShiftBreakpoint ( int  index,
int  lines_to_shift 
)
pure virtual

Implemented in DebuggerGDB.

Referenced by EditorLinesAddedOrRemoved().

◆ ShowLog()

void cbDebuggerPlugin::ShowLog ( bool  clear)

◆ ShowValueTooltip()

bool cbDebuggerPlugin::ShowValueTooltip ( int  style)
virtual

Reimplemented in DebuggerGDB.

Definition at line 928 of file cbplugin.cpp.

Referenced by ProcessValueTooltip().

◆ ShowWatchProperties()

virtual void cbDebuggerPlugin::ShowWatchProperties ( cb::shared_ptr< cbWatch watch)
pure virtual

Implemented in DebuggerGDB.

Referenced by WatchesDlg::OnMenuProperties().

◆ Step()

virtual void cbDebuggerPlugin::Step ( )
pure virtual

Execute the next instruction, stepping into function calls if needed, and return control to the debugger.

Implemented in DebuggerGDB.

◆ StepIntoInstruction()

virtual void cbDebuggerPlugin::StepIntoInstruction ( )
pure virtual

Execute the next instruction and return control to the debugger, if the instruction is a function call step into it.

Implemented in DebuggerGDB.

◆ StepOut()

virtual void cbDebuggerPlugin::StepOut ( )
pure virtual

Execute the next instruction, stepping out of function calls if needed, and return control to the debugger.

Implemented in DebuggerGDB.

◆ Stop()

virtual void cbDebuggerPlugin::Stop ( )
pure virtual

Stop the debugging process (exit debugging).

Implemented in DebuggerGDB.

Referenced by OnProjectActivated(), OnProjectClosed(), and CompilerGCC::StopRunningDebugger().

◆ SupportsFeature()

virtual bool cbDebuggerPlugin::SupportsFeature ( cbDebuggerFeature::Flags  flag)
pure virtual

◆ SwitchToDebuggingLayout()

void cbDebuggerPlugin::SwitchToDebuggingLayout ( )
protected

◆ SwitchToFrame()

virtual void cbDebuggerPlugin::SwitchToFrame ( int  number)
pure virtual

Implemented in DebuggerGDB.

Referenced by BacktraceDlg::OnSwitchFrame().

◆ SwitchToPreviousLayout()

void cbDebuggerPlugin::SwitchToPreviousLayout ( )
protected

◆ SwitchToThread()

virtual bool cbDebuggerPlugin::SwitchToThread ( int  thread_number)
pure virtual

Implemented in DebuggerGDB.

Referenced by ThreadsDlg::OnSwitchThread().

◆ SyncEditor()

cbDebuggerPlugin::SyncEditorResult cbDebuggerPlugin::SyncEditor ( const wxString filename,
int  line,
bool  setMarker = true 
)

◆ ToolMenuEnabled()

bool cbDebuggerPlugin::ToolMenuEnabled ( ) const
virtual

◆ UpdateBreakpoint()

virtual void cbDebuggerPlugin::UpdateBreakpoint ( cb::shared_ptr< cbBreakpoint breakpoint)
pure virtual

Implemented in DebuggerGDB.

Referenced by BreakpointsDlg::BreakpointProperties().

◆ UpdateWatch()

virtual void cbDebuggerPlugin::UpdateWatch ( cb::shared_ptr< cbWatch watch)
pure virtual

Implemented in DebuggerGDB.

Referenced by WatchesDlg::OnMenuUpdate().

◆ WaitingCompilerToFinish()

bool cbDebuggerPlugin::WaitingCompilerToFinish ( ) const
inlineprotected

Definition at line 627 of file cbplugin.h.

Referenced by DebuggerGDB::Debug().

Member Data Documentation

◆ m_ActiveConfig

int cbDebuggerPlugin::m_ActiveConfig
private

Definition at line 644 of file cbplugin.h.

Referenced by GetActiveConfig(), GetIndexOfActiveConfig(), and SetActiveConfig().

◆ m_guiName

wxString cbDebuggerPlugin::m_guiName
private

Definition at line 648 of file cbplugin.h.

◆ m_lastLineWasNormal

bool cbDebuggerPlugin::m_lastLineWasNormal
private

Definition at line 647 of file cbplugin.h.

Referenced by DebugLog(), and Log().

◆ m_LogPageIndex

int cbDebuggerPlugin::m_LogPageIndex
private

Definition at line 646 of file cbplugin.h.

Referenced by DebugLog(), Log(), and SetupLog().

◆ m_pCompiler

cbCompilerPlugin* cbDebuggerPlugin::m_pCompiler
private

Definition at line 639 of file cbplugin.h.

Referenced by EnsureBuildUpToDate(), and OnCompilerFinished().

◆ m_PreviousLayout

wxString cbDebuggerPlugin::m_PreviousLayout
private

Definition at line 638 of file cbplugin.h.

Referenced by SwitchToDebuggingLayout(), and SwitchToPreviousLayout().

◆ m_settingsName

wxString cbDebuggerPlugin::m_settingsName
private

Definition at line 648 of file cbplugin.h.

◆ m_StartType

StartType cbDebuggerPlugin::m_StartType
private

Definition at line 642 of file cbplugin.h.

Referenced by EnsureBuildUpToDate(), OnAttach(), and OnCompilerFinished().

◆ m_WaitingCompilerToFinish

bool cbDebuggerPlugin::m_WaitingCompilerToFinish
private

Definition at line 640 of file cbplugin.h.

Referenced by EnsureBuildUpToDate(), and OnCompilerFinished().


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