Hide blend mode button when debug with lldb-mi

fix: Can't auto jump to the current line in the cpu info dialog when debug with lldb-mi
This commit is contained in:
Roy Qu 2024-04-01 16:59:19 +08:00
parent 9a8751c7c8
commit 95fff8bea7
5 changed files with 25 additions and 21 deletions

View File

@ -641,6 +641,11 @@ void Debugger::setUseDebugServer(bool newUseDebugServer)
mUseDebugServer = newUseDebugServer; mUseDebugServer = newUseDebugServer;
} }
bool Debugger::supportDisassemlyBlendMode()
{
return mDebuggerType == DebuggerType::GDB;
}
bool Debugger::debugInfosUsingUTF8() const bool Debugger::debugInfosUsingUTF8() const
{ {
return mDebugInfosUsingUTF8; return mDebugInfosUsingUTF8;

View File

@ -396,7 +396,7 @@ public:
bool useDebugServer() const; bool useDebugServer() const;
void setUseDebugServer(bool newUseDebugServer); void setUseDebugServer(bool newUseDebugServer);
bool supportDisassemlyBlendMode();
signals: signals:
void evalValueReady(const QString& s); void evalValueReady(const QString& s);
void memoryExamineReady(const QStringList& s); void memoryExamineReady(const QStringList& s);

View File

@ -567,9 +567,9 @@ void GDBMIDebuggerClient::handleDisassembly(const QList<GDBMIResultParser::Parse
QString offset = obj["offset"].value(); QString offset = obj["offset"].value();
qulonglong addrVal = addr.toULongLong(&ok, 16); qulonglong addrVal = addr.toULongLong(&ok, 16);
if (addrVal == mCurrentAddress) { if (addrVal == mCurrentAddress) {
line = "==> "+addr+ " " + inst; line = "=> "+addr+ " " + inst;
} else { } else {
line = " "+addr+ " " + inst; line = " "+addr+ " " + inst;
} }
lines.append(line); lines.append(line);
} }

View File

@ -125,7 +125,7 @@ void CPUDialog::setDisassembly(const QString& file, const QString& funcName,cons
int activeLine = -1; int activeLine = -1;
for (int i=0;i<lines.size();i++) { for (int i=0;i<lines.size();i++) {
QString line = lines[i]; QString line = lines[i];
if (line.startsWith("=>")) { if (line.startsWith("=>") || line.startsWith("->")) {
activeLine = i; activeLine = i;
} }
} }
@ -159,7 +159,7 @@ void CPUDialog::sendSyntaxCommand()
void CPUDialog::updateSyntaxer() void CPUDialog::updateSyntaxer()
{ {
if (pSettings->debugger().blendMode()) { if (pSettings->debugger().blendMode() && pMainWindow->debugger()->supportDisassemlyBlendMode()) {
if (pSettings->debugger().useIntelStyle()) if (pSettings->debugger().useIntelStyle())
ui->txtCode->setSyntaxer(syntaxerManager.getSyntaxer(QSynedit::ProgrammingLanguage::MixedAssembly)); ui->txtCode->setSyntaxer(syntaxerManager.getSyntaxer(QSynedit::ProgrammingLanguage::MixedAssembly));
else else
@ -240,6 +240,7 @@ void CPUDialog::showEvent(QShowEvent *event)
sizes[1] = std::max(0,totalSize - sizes[0]); sizes[1] = std::max(0,totalSize - sizes[0]);
ui->splitter->setSizes(sizes); ui->splitter->setSizes(sizes);
} }
ui->chkBlendMode->setVisible(pMainWindow->debugger()->supportDisassemlyBlendMode());
} }

View File

@ -143,19 +143,6 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item> <item>
<widget class="QRadioButton" name="rdATT"> <widget class="QRadioButton" name="rdATT">
<property name="text"> <property name="text">
@ -183,6 +170,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -238,9 +238,7 @@
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
<buttongroups> <buttongroups>
<buttongroup name="buttonGroup"/> <buttongroup name="buttonGroup"/>