mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
GP-856: Fixed tests for dbgeng, added tests for dbgmodel
This commit is contained in:
@@ -34,6 +34,8 @@ import ghidra.app.plugin.core.debug.DebuggerCoordinates;
|
||||
import ghidra.app.plugin.core.debug.DebuggerPluginPackage;
|
||||
import ghidra.app.plugin.core.debug.gui.DebuggerResources;
|
||||
import ghidra.app.services.*;
|
||||
import ghidra.dbg.DebugModelConventions;
|
||||
import ghidra.dbg.target.TargetStackFrame;
|
||||
import ghidra.framework.plugintool.AutoService;
|
||||
import ghidra.framework.plugintool.ComponentProviderAdapter;
|
||||
import ghidra.framework.plugintool.annotation.AutoServiceConsumed;
|
||||
@@ -225,6 +227,8 @@ public class DebuggerStackProvider extends ComponentProviderAdapter {
|
||||
|
||||
@AutoServiceConsumed
|
||||
private DebuggerTraceManagerService traceManager;
|
||||
// @AutoServiceConsumed by method
|
||||
private DebuggerModelService modelService;
|
||||
// @AutoServiceConsumed via method
|
||||
DebuggerStaticMappingService mappingService;
|
||||
@AutoServiceConsumed
|
||||
@@ -299,6 +303,13 @@ public class DebuggerStackProvider extends ComponentProviderAdapter {
|
||||
}
|
||||
listingService.goTo(pc, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
int selectedRow = stackTable.getSelectedRow();
|
||||
StackFrameRow row = stackTableModel.getRowObject(selectedRow);
|
||||
rowActivated(row);
|
||||
}
|
||||
});
|
||||
|
||||
// TODO: Adjust default column widths?
|
||||
@@ -331,6 +342,19 @@ public class DebuggerStackProvider extends ComponentProviderAdapter {
|
||||
});
|
||||
}
|
||||
|
||||
private void rowActivated(StackFrameRow row) {
|
||||
TraceStackFrame frame = row.frame;
|
||||
TraceThread thread = frame.getStack().getThread();
|
||||
Trace trace = thread.getTrace();
|
||||
TraceRecorder recorder = modelService.getRecorder(trace);
|
||||
if (recorder != null) {
|
||||
TargetStackFrame targetFrame = recorder.getTargetStackFrame(thread, frame.getLevel());
|
||||
if (targetFrame != null && targetFrame.isValid()) {
|
||||
DebugModelConventions.requestActivation(targetFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void createActions() {
|
||||
// TODO: Anything?
|
||||
}
|
||||
@@ -490,6 +514,11 @@ public class DebuggerStackProvider extends ComponentProviderAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
@AutoServiceConsumed
|
||||
public void setModelService(DebuggerModelService modelService) {
|
||||
this.modelService = modelService;
|
||||
}
|
||||
|
||||
@AutoServiceConsumed
|
||||
private void setMappingService(DebuggerStaticMappingService mappingService) {
|
||||
if (this.mappingService != null) {
|
||||
|
||||
Reference in New Issue
Block a user