46 unsigned beginAddr,
unsigned endAddr,
47 bool once,
unsigned newId = -1);
57 [[nodiscard]]
Debuggable& getDebuggable(std::string_view name);
58 [[nodiscard]]
ProbeBase& getProbe(std::string_view name);
60 unsigned insertProbeBreakPoint(
62 ProbeBase& probe,
bool once,
unsigned newId = -1);
72 [[nodiscard]]
bool needRecord(std::span<const TclObject> tokens)
const override;
73 void execute(std::span<const TclObject> tokens,
74 TclObject& result, EmuTime::param time)
override;
75 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
76 void tabCompletion(std::vector<std::string>& tokens)
const override;
80 [[nodiscard]]
const Debugger& debugger()
const {
return OUTER(Debugger, cmd); }
81 [[nodiscard]] SymbolManager& getSymbolManager();
82 void list(TclObject& result);
83 void desc(std::span<const TclObject> tokens, TclObject& result);
84 void size(std::span<const TclObject> tokens, TclObject& result);
85 void read(std::span<const TclObject> tokens, TclObject& result);
86 void readBlock(std::span<const TclObject> tokens, TclObject& result);
87 void write(std::span<const TclObject> tokens, TclObject& result);
88 void writeBlock(std::span<const TclObject> tokens, TclObject& result);
89 void setBreakPoint(std::span<const TclObject> tokens, TclObject& result);
90 void removeBreakPoint(std::span<const TclObject> tokens, TclObject& result);
91 void listBreakPoints(std::span<const TclObject> tokens, TclObject& result)
const;
92 [[nodiscard]] std::vector<std::string> getBreakPointIds()
const;
93 [[nodiscard]] std::vector<std::string> getWatchPointIds()
const;
94 [[nodiscard]] std::vector<std::string> getConditionIds()
const;
95 void setWatchPoint(std::span<const TclObject> tokens, TclObject& result);
96 void removeWatchPoint(std::span<const TclObject> tokens, TclObject& result);
97 void listWatchPoints(std::span<const TclObject> tokens, TclObject& result);
98 void setCondition(std::span<const TclObject> tokens, TclObject& result);
99 void removeCondition(std::span<const TclObject> tokens, TclObject& result);
100 void listConditions(std::span<const TclObject> tokens, TclObject& result)
const;
101 void probe(std::span<const TclObject> tokens, TclObject& result);
102 void probeList(std::span<const TclObject> tokens, TclObject& result);
103 void probeDesc(std::span<const TclObject> tokens, TclObject& result);
104 void probeRead(std::span<const TclObject> tokens, TclObject& result);
105 void probeSetBreakPoint(std::span<const TclObject> tokens, TclObject& result);
106 void probeRemoveBreakPoint(std::span<const TclObject> tokens, TclObject& result);
107 void probeListBreakPoints(std::span<const TclObject> tokens, TclObject& result);
108 void symbols(std::span<const TclObject> tokens, TclObject& result);
109 void symbolsTypes(std::span<const TclObject> tokens, TclObject& result)
const;
110 void symbolsLoad(std::span<const TclObject> tokens, TclObject& result);
111 void symbolsRemove(std::span<const TclObject> tokens, TclObject& result);
112 void symbolsFiles(std::span<const TclObject> tokens, TclObject& result);
113 void symbolsLookup(std::span<const TclObject> tokens, TclObject& result);
116 struct NameFromProbe {
117 [[nodiscard]]
const std::string& operator()(
const ProbeBase* p)
const {
124 std::vector<std::unique_ptr<ProbeBreakPoint>> probeBreakPoints;