Changeset View
Changeset View
Standalone View
Standalone View
debuggers/gdb/registers/registercontroller.cpp
Show First 20 Lines • Show All 106 Lines • ▼ Show 20 Line(s) | 41 | { | |||
---|---|---|---|---|---|
107 | 107 | | |||
108 | void (IRegisterController::* handler)(const ResultRecord&); | 108 | void (IRegisterController::* handler)(const ResultRecord&); | ||
109 | if (group.type() == structured && currentFormat != Raw) { | 109 | if (group.type() == structured && currentFormat != Raw) { | ||
110 | handler = &IRegisterController::structuredRegistersHandler; | 110 | handler = &IRegisterController::structuredRegistersHandler; | ||
111 | } else { | 111 | } else { | ||
112 | handler = &IRegisterController::generalRegistersHandler; | 112 | handler = &IRegisterController::generalRegistersHandler; | ||
113 | } | 113 | } | ||
114 | 114 | | |||
115 | m_debugSession->addCommand(new MICommand(DataListRegisterValues, registers, this, handler)); | 115 | m_debugSession->addCommand(DataListRegisterValues, registers, this, handler); | ||
116 | } | 116 | } | ||
117 | 117 | | |||
118 | void IRegisterController::registerNamesHandler(const ResultRecord& r) | 118 | void IRegisterController::registerNamesHandler(const ResultRecord& r) | ||
119 | { | 119 | { | ||
120 | const Value& names = r["register-names"]; | 120 | const Value& names = r["register-names"]; | ||
121 | 121 | | |||
122 | m_rawRegisterNames.clear(); | 122 | m_rawRegisterNames.clear(); | ||
123 | for (int i = 0; i < names.size(); ++i) { | 123 | for (int i = 0; i < names.size(); ++i) { | ||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
180 | } | 180 | } | ||
181 | 181 | | |||
182 | bool IRegisterController::initializeRegisters() | 182 | bool IRegisterController::initializeRegisters() | ||
183 | { | 183 | { | ||
184 | if (!m_debugSession || m_debugSession->debuggerStateIsOn(s_dbgNotStarted | s_shuttingDown)) { | 184 | if (!m_debugSession || m_debugSession->debuggerStateIsOn(s_dbgNotStarted | s_shuttingDown)) { | ||
185 | return false; | 185 | return false; | ||
186 | } | 186 | } | ||
187 | 187 | | |||
188 | m_debugSession->addCommand( | 188 | m_debugSession->addCommand(DataListRegisterNames, "", this, &IRegisterController::registerNamesHandler); | ||
189 | new MICommand(DataListRegisterNames, "", this, &IRegisterController::registerNamesHandler)); | | |||
190 | return true; | 189 | return true; | ||
191 | } | 190 | } | ||
192 | 191 | | |||
193 | GroupsName IRegisterController::groupForRegisterName(const QString& name) const | 192 | GroupsName IRegisterController::groupForRegisterName(const QString& name) const | ||
194 | { | 193 | { | ||
195 | foreach (const GroupsName & group, namesOfRegisterGroups()) { | 194 | foreach (const GroupsName & group, namesOfRegisterGroups()) { | ||
196 | const QStringList registersInGroup = registerNamesForGroup(group); | 195 | const QStringList registersInGroup = registerNamesForGroup(group); | ||
197 | if (group.flagName() == name) { | 196 | if (group.flagName() == name) { | ||
Show All 38 Lines | |||||
236 | { | 235 | { | ||
237 | if (!m_debugSession || m_debugSession->debuggerStateIsOn(s_dbgNotStarted | s_shuttingDown)) { | 236 | if (!m_debugSession || m_debugSession->debuggerStateIsOn(s_dbgNotStarted | s_shuttingDown)) { | ||
238 | return; | 237 | return; | ||
239 | } | 238 | } | ||
240 | 239 | | |||
241 | const QString command = QString("set var $%1=%2").arg(reg.name).arg(reg.value); | 240 | const QString command = QString("set var $%1=%2").arg(reg.name).arg(reg.value); | ||
242 | qCDebug(DEBUGGERGDB) << "Setting register: " << command; | 241 | qCDebug(DEBUGGERGDB) << "Setting register: " << command; | ||
243 | 242 | | |||
244 | m_debugSession->addCommand(new MICommand(NonMI, command)); | 243 | m_debugSession->addCommand(NonMI, command); | ||
245 | updateRegisters(group); | 244 | updateRegisters(group); | ||
246 | } | 245 | } | ||
247 | 246 | | |||
248 | IRegisterController::IRegisterController(DebugSession* debugSession, QObject* parent) | 247 | IRegisterController::IRegisterController(DebugSession* debugSession, QObject* parent) | ||
249 | : QObject(parent), m_debugSession(debugSession) {} | 248 | : QObject(parent), m_debugSession(debugSession) {} | ||
250 | 249 | | |||
251 | IRegisterController::~IRegisterController() {} | 250 | IRegisterController::~IRegisterController() {} | ||
252 | 251 | | |||
▲ Show 20 Lines • Show All 155 Lines • Show Last 20 Lines |