Debugger[TRK]: Warn about suspicious code segment addresses

Task-number: QTCREATORBUG-2158
Reviewed-by: hjk
This commit is contained in:
Friedemann Kleint
2010-08-27 11:14:08 +02:00
parent e5f60a956f
commit 8d188d0104
2 changed files with 20 additions and 4 deletions

View File

@@ -228,8 +228,17 @@ void TcfTrkGdbAdapter::handleTcfTrkRunControlModuleLoadContextSuspendedEvent(con
m_firstResumableExeLoadedEvent = false;
m_session.codeseg = minfo.codeAddress;
m_session.dataseg = minfo.dataAddress;
logMessage(startMsg(m_session));
const QByteArray symbolFile = m_symbolFile.toLocal8Bit();
logMessage(startMsg(m_session), LogMisc);
// 26.8.2010: When paging occurs in S^3, bogus starting ROM addresses
// like 0x500000 or 0x40000 are reported. Warn about symbol resolution errors.
// Code duplicated in TrkAdapter. @TODO: Hopefully fixed in future TRK versions.
if ((m_session.codeseg & 0xFFFFF) == 0) {
const QString warnMessage = tr("The reported code segment address (0x%1) might be invalid. Symbol resolution or setting breakoints may not work.").
arg(m_session.codeseg, 0, 16);
logMessage(warnMessage, LogError);
}
const QByteArray symbolFile = m_symbolFile.toLocal8Bit();
if (symbolFile.isEmpty()) {
logMessage(_("WARNING: No symbol file available."), LogWarning);
} else {