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 disasm(std::span<const TclObject> tokens, TclObject& result, EmuTime::param time)
const;
90 void disasmBlob(std::span<const TclObject> tokens, TclObject& result)
const;
91 void setBreakPoint(std::span<const TclObject> tokens, TclObject& result);
92 void removeBreakPoint(std::span<const TclObject> tokens, TclObject& result);
93 void listBreakPoints(std::span<const TclObject> tokens, TclObject& result)
const;
94 [[nodiscard]] std::vector<std::string> getBreakPointIds()
const;
95 [[nodiscard]] std::vector<std::string> getWatchPointIds()
const;
96 [[nodiscard]] std::vector<std::string> getConditionIds()
const;
97 void setWatchPoint(std::span<const TclObject> tokens, TclObject& result);
98 void removeWatchPoint(std::span<const TclObject> tokens, TclObject& result);
99 void listWatchPoints(std::span<const TclObject> tokens, TclObject& result);
100 void setCondition(std::span<const TclObject> tokens, TclObject& result);
101 void removeCondition(std::span<const TclObject> tokens, TclObject& result);
102 void listConditions(std::span<const TclObject> tokens, TclObject& result)
const;
103 void probe(std::span<const TclObject> tokens, TclObject& result);
104 void probeList(std::span<const TclObject> tokens, TclObject& result);
105 void probeDesc(std::span<const TclObject> tokens, TclObject& result);
106 void probeRead(std::span<const TclObject> tokens, TclObject& result);
107 void probeSetBreakPoint(std::span<const TclObject> tokens, TclObject& result);
108 void probeRemoveBreakPoint(std::span<const TclObject> tokens, TclObject& result);
109 void probeListBreakPoints(std::span<const TclObject> tokens, TclObject& result);
110 void symbols(std::span<const TclObject> tokens, TclObject& result);
111 void symbolsTypes(std::span<const TclObject> tokens, TclObject& result)
const;
112 void symbolsLoad(std::span<const TclObject> tokens, TclObject& result);
113 void symbolsRemove(std::span<const TclObject> tokens, TclObject& result);
114 void symbolsFiles(std::span<const TclObject> tokens, TclObject& result);
115 void symbolsLookup(std::span<const TclObject> tokens, TclObject& result);
118 struct NameFromProbe {
119 [[nodiscard]]
const std::string& operator()(
const ProbeBase* p)
const {
126 std::vector<std::unique_ptr<ProbeBreakPoint>> probeBreakPoints;