6 #ifndef X_DEBUGGER_MANAGER_H 7 #define X_DEBUGGER_MANAGER_H 38 virtual void SetEnabled(
bool flag) = 0;
39 virtual wxString GetLocation()
const = 0;
40 virtual int GetLine()
const = 0;
41 virtual wxString GetLineString()
const = 0;
42 virtual wxString GetType()
const = 0;
43 virtual wxString GetInfo()
const = 0;
44 virtual bool IsEnabled()
const = 0;
45 virtual bool IsVisibleInEditor()
const = 0;
46 virtual bool IsTemporary()
const = 0;
57 virtual void GetSymbol(
wxString &symbol)
const = 0;
58 virtual void GetValue(
wxString &value)
const = 0;
60 virtual void GetFullWatchString(
wxString &full_watch)
const = 0;
61 virtual void GetType(
wxString &type)
const = 0;
62 virtual void SetType(
const wxString &type) = 0;
64 virtual wxString const & GetDebugString()
const = 0;
67 virtual wxString MakeSymbolToAddress()
const;
73 static void AddChild(cb::shared_ptr<cbWatch> parent, cb::shared_ptr<cbWatch> watch);
74 void RemoveChild(
int index);
75 void RemoveChildren();
76 bool RemoveMarkedChildren();
77 int GetChildCount()
const;
78 cb::shared_ptr<cbWatch> GetChild(
int index);
79 cb::shared_ptr<const cbWatch> GetChild(
int index)
const;
81 cb::shared_ptr<cbWatch> FindChild(
const wxString& name);
82 int FindChildIndex(
const wxString& symbol)
const;
84 cb::shared_ptr<const cbWatch> GetParent()
const;
85 cb::shared_ptr<cbWatch> GetParent();
87 bool IsRemoved()
const;
88 bool IsChanged()
const;
90 void MarkAsRemoved(
bool flag);
91 void MarkChildsAsRemoved();
92 void MarkAsChanged(
bool flag);
93 void MarkAsChangedRecursive(
bool flag);
95 bool IsExpanded()
const;
96 void Expand(
bool expand);
98 bool IsAutoUpdateEnabled()
const;
99 void AutoUpdate(
bool enabled);
116 void SetNumber(
int number);
117 void SetAddress(uint64_t address);
118 void SetSymbol(
const wxString& symbol);
120 void MakeValid(
bool flag);
122 int GetNumber()
const;
123 uint64_t GetAddress()
const;
124 wxString GetAddressAsString()
const;
126 const wxString& GetFilename()
const;
128 bool IsValid()
const;
144 bool IsActive()
const;
145 int GetNumber()
const;
170 virtual bool SaveChanges(
wxPanel *panel) = 0;
178 void SetMenuId(
long id);
179 long GetMenuId()
const;
200 ShowTemporaryBreakpoints
210 static bool GetFlag(
Flags flag);
211 static void SetFlag(
Flags flag,
bool value);
213 static wxString GetValueTooltipFont();
214 static void SetValueTooltipFont(
const wxString &font);
217 static void SetPerspective(
int perspective);
256 for (ConfigurationVector::iterator it = m_configurations.begin(); it != m_configurations.end(); ++it)
258 m_configurations.clear();
385 #endif // X_DEBUGGER_MANAGER_H
cbDebuggerPlugin * GetActiveDebugger()
bool IsDisassemblyMixedMode()
void SetMenuHandler(cbDebuggerMenuHandler *handler)
cbWatchesDlg * m_watchesDialog
cbExamineMemoryDlg * GetExamineMemoryDialog()
Returns a pointer to the memory dialog.
bool ShowBacktraceDialog()
ConfigurationVector & GetConfigurations()
std::vector< cb::shared_ptr< cbWatch > > m_children
cbDisassemblyDlg * m_disassemblyDialog
Base class for debugger plugins.
void ProcessSettings(RegisteredPlugins::iterator it)
bool UpdateExamineMemory()
bool UnregisterDebugger(cbDebuggerPlugin *plugin)
Called to unregister a debugger plugin.
void OnSettingsChanged(CodeBlocksEvent &event)
cbDebuggerPlugin * m_activeDebugger
ConfigurationVector m_configurations
void OnPluginLoadingComplete(CodeBlocksEvent &event)
cbCPURegistersDlg * GetCPURegistersDialog()
Returns a pointer to the CPU registers dialog.
void SetInterfaceFactory(cbDebugInterfaceFactory *factory)
void SetValue(WatchesProperty *prop)
wxString m_symbol
Current function name.
void SetTargetsDefaultAsActiveDebugger()
RegisteredPlugins m_registered
void ClearConfigurations()
TextCtrlLogger * GetLogger()
cbDebuggerMenuHandler * GetMenuHandler()
void OnProjectActivated(CodeBlocksEvent &event)
cbDebuggerPlugin * GetDebuggerHavingWatch(cb::shared_ptr< cbWatch > watch)
bool IsPointerType(wxString type)
A generic Code::Blocks event.
void FindTargetsDebugger()
bool UpdateCPURegisters()
cbCPURegistersDlg * m_cpuRegistersDialog
void SetDisassemblyMixedMode(bool mixed)
ConfigManagerWrapper m_config
void OnTargetSelected(CodeBlocksEvent &event)
cbDisassemblyDlg * GetDisassemblyDialog()
Returns a pointer to the disassembly dialog.
TextCtrlLogger * m_logger
bool IsActiveDebuggerTargetsDefault() const
a logger which prints messages to a wxTextCtrl
cbThreadsDlg * GetThreadsDialog()
Returns a pointer to the threads dialog.
cbWatchesDlg * GetWatchesDialog()
Returns a pointer to the watches dialog.
cb::weak_ptr< cbWatch > m_parent
DLLIMPORT uint64_t cbDebuggerStringToAddress(const wxString &address)
Convert a string in hex form to a uint64_t number.
cbBreakpointsDlg * m_breakPointsDialog
bool m_valid
Is this stack frame valid?
std::map< cbDebuggerPlugin *, PluginData > RegisteredPlugins
cb::shared_ptr< GDBWatch > AddChild(cb::shared_ptr< GDBWatch > parent, wxString const &full_value, Token &name)
uint64_t m_address
Stack frame's address.
int m_number
Stack frame's number (used in backtraces).
RegisteredPlugins const & GetAllDebuggers() const
cbExamineMemoryDlg * m_examineMemoryDialog
cbBacktraceDlg * GetBacktraceDialog()
cbBreakpointsDlg * GetBreakpointDialog()
Returns a pointer to the breakpoints dialog.
wxString m_line
Current line in file.
DLLIMPORT wxString cbDetectDebuggerExecutable(const wxString &exeName)
Tries to detect the path to the debugger's executable.
cb::shared_ptr< cbWatch > DLLIMPORT cbGetRootWatch(cb::shared_ptr< cbWatch > watch)
virtual ~cbDebuggerConfiguration()
std::vector< cbDebuggerConfiguration * > ConfigurationVector
void SetActiveDebugger(cbDebuggerPlugin *activeDebugger, ConfigurationVector::const_iterator config)
cbDebuggerMenuHandler * m_menuHandler
DLLIMPORT wxString cbDebuggerAddressToString(uint64_t address)
Convert a uint64_t variable to a hex string that will look like an address.
ConfigManagerWrapper NewConfig(cbDebuggerPlugin *plugin, const wxString &name)
cbBacktraceDlg * m_backtraceDialog
cbThreadsDlg * m_threadsDialog
bool RegisterDebugger(cbDebuggerPlugin *plugin)
Called to register a debugger plugin.
bool m_isDisassemblyMixedMode
wxString m_file
Current file.
cbDebugInterfaceFactory * GetInterfaceFactory()
const ConfigurationVector & GetConfigurations() const
Wrapper class for reading or writing config values, without the need for the full path...
cbDebugInterfaceFactory * m_interfaceFactory