checkpoint: add source to assemby view.

This commit is contained in:
Ernie Pasveer
2022-11-03 18:03:44 -05:00
parent 3c7b4b87b2
commit bb70922e2e
6 changed files with 131 additions and 10 deletions
+22 -9
View File
@@ -899,15 +899,16 @@ SeerEditorWidgetAssembly* SeerEditorManagerWidget::createAssemblyWidgetTab () {
tabWidget->setTabToolTip(_assemblyIndex, "Assembly");
// Connect signals.
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::insertBreakpoint, this, &SeerEditorManagerWidget::handleInsertBreakpoint);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::deleteBreakpoints, this, &SeerEditorManagerWidget::handleDeleteBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::enableBreakpoints, this, &SeerEditorManagerWidget::handleEnableBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::disableBreakpoints, this, &SeerEditorManagerWidget::handleDisableBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::runToAddress, this, &SeerEditorManagerWidget::handleRunToAddress);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::requestAssembly, this, &SeerEditorManagerWidget::handleRequestAssembly);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addMemoryVisualize, this, &SeerEditorManagerWidget::handleAddMemoryVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addArrayVisualize, this, &SeerEditorManagerWidget::handleAddArrayVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addStructVisualize, this, &SeerEditorManagerWidget::handleAddStructVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::insertBreakpoint, this, &SeerEditorManagerWidget::handleInsertBreakpoint);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::deleteBreakpoints, this, &SeerEditorManagerWidget::handleDeleteBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::enableBreakpoints, this, &SeerEditorManagerWidget::handleEnableBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::disableBreakpoints, this, &SeerEditorManagerWidget::handleDisableBreakpoints);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::runToAddress, this, &SeerEditorManagerWidget::handleRunToAddress);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::requestAssembly, this, &SeerEditorManagerWidget::handleRequestAssembly);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::requestSourceAndAssembly, this, &SeerEditorManagerWidget::handleRequestSourceAndAssembly);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addMemoryVisualize, this, &SeerEditorManagerWidget::handleAddMemoryVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addArrayVisualize, this, &SeerEditorManagerWidget::handleAddArrayVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addStructVisualize, this, &SeerEditorManagerWidget::handleAddStructVisualizer);
// Load the file.
assemblyWidget->assemblyArea()->setPlainText("");
@@ -1156,6 +1157,18 @@ void SeerEditorManagerWidget::handleRequestAssembly (QString address) {
emit refreshStackFrames();
}
void SeerEditorManagerWidget::handleRequestSourceAndAssembly (QString address) {
//qDebug() << address;
// rethrow
emit requestSourceAndAssembly (address);
// Ask for the stackframe list to be resent, this will highlight current line when the
// assembly tab is shown for the first time.
emit refreshStackFrames();
}
void SeerEditorManagerWidget::handleAssemblyConfigChanged () {
// Tell the assembly tab to refresh.