diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index c4c7e6b375d0aa90f765af6ccf04d9d748e4e1fd..272f19b56182c349ccf676c15bae347c0c0747e2 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -1035,12 +1035,18 @@ void CdbEngine::executeJumpToLine(const QString &fileName, int lineNumber) if (!setRegisterValueU64(m_d->interfaces().debugControl, m_d->interfaces().debugRegisters, - QLatin1String("rip"), address, &errorMessage)) +#ifdef Q_OS_WIN64 + QLatin1String("rip"), +#else + QLatin1String("eip"), +#endif + address, &errorMessage)) break; showMessage(QString::fromLatin1("Jumping to %1:%2 (0x%3)..."). arg(QDir::toNativeSeparators(fileName)).arg(lineNumber).arg(address, 0, 16)); StackFrame frame; + frame.usable = true; frame.file = fileName; frame.line = lineNumber; gotoLocation(frame, true); diff --git a/src/plugins/debugger/cdb2/cdbengine2.cpp b/src/plugins/debugger/cdb2/cdbengine2.cpp index f62879d2092183c67b2413cf52da791b97f1fbdf..fe56f3f2aa9ad7924c04ec8990e6bd494b799204 100644 --- a/src/plugins/debugger/cdb2/cdbengine2.cpp +++ b/src/plugins/debugger/cdb2/cdbengine2.cpp @@ -815,7 +815,8 @@ void CdbEngine::handleJumpToLineAddressResolution(const CdbBuiltinCommandPtr &cm QByteArray registerCmd; ByteArrayInputStream str(registerCmd); - str << "r rip=0x" << answer; + // PC-register depending on 64/32bit. + str << "r " << (m_options->is64bit ? "rip" : "eip") << "=0x" << answer; postCommand(registerCmd, 0); gotoLocation(cookie.fileName, cookie.lineNumber, true); }