Debugger: Fix memory display

- Watchwindow: Do not open Address dialog if menu is canceled (act = 0
  matching the unitialized unknown memory action)
- Actually pass the address of the dialog to the agent
- Make the "Open Memory editor..." action always visible to be able to
  look at const char *x pointing at y
- Improve the address dialog with checking and dialog button box
- Explicitly pass the quint64 around
- Translate & purge
This commit is contained in:
Friedemann Kleint
2009-08-19 14:41:51 +02:00
parent 2bc577dfa3
commit 76c226dfdb
8 changed files with 151 additions and 302 deletions

View File

@@ -1337,6 +1337,23 @@ void CdbDebugEngine::fetchDisassembler(DisassemblerViewAgent *agent,
}
}
void CdbDebugEngine::fetchMemory(MemoryViewAgent *agent, quint64 addr, quint64 length)
{
if (!m_d->m_hDebuggeeProcess && !length)
return;
ULONG received;
QByteArray data(length, '\0');
const HRESULT hr = m_d->m_cif.debugDataSpaces->ReadVirtual(addr, data.data(), length, &received);
if (FAILED(hr)) {
warning(tr("Unable to retrieve %1 bytes of memory at 0x%2: %3").
arg(length).arg(addr, 0, 16).arg(msgComFailed("ReadVirtual", hr)));
return;
}
if (received < length)
data.truncate(received);
agent->addLazyData(addr, data);
}
void CdbDebugEngine::reloadModules()
{
}