mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-05-27 21:45:55 +08:00
GP-2635: GDB: Refresh stack on register edits (ensure pc up to date)
This commit is contained in:
+5
-3
@@ -22,7 +22,8 @@ import java.util.concurrent.CompletableFuture;
|
||||
import agent.gdb.manager.GdbStackFrame;
|
||||
import agent.gdb.manager.impl.cmd.GdbStateChangeRecord;
|
||||
import ghidra.dbg.agent.DefaultTargetObject;
|
||||
import ghidra.dbg.target.*;
|
||||
import ghidra.dbg.target.TargetObject;
|
||||
import ghidra.dbg.target.TargetStackFrame;
|
||||
import ghidra.dbg.target.schema.*;
|
||||
import ghidra.dbg.util.PathUtils;
|
||||
import ghidra.lifecycle.Internal;
|
||||
@@ -34,8 +35,9 @@ import ghidra.program.model.address.Address;
|
||||
@TargetElementType(type = Void.class) },
|
||||
attributes = {
|
||||
@TargetAttributeType(type = Void.class) })
|
||||
public class GdbModelTargetStackFrame extends DefaultTargetObject<TargetObject, GdbModelTargetStack>
|
||||
implements TargetStackFrame, TargetAggregate, GdbModelSelectableObject {
|
||||
public class GdbModelTargetStackFrame
|
||||
extends DefaultTargetObject<TargetObject, GdbModelTargetStack>
|
||||
implements TargetStackFrame, GdbModelSelectableObject {
|
||||
public static final String FUNC_ATTRIBUTE_NAME = PREFIX_INVISIBLE + "function";
|
||||
public static final String FROM_ATTRIBUTE_NAME = PREFIX_INVISIBLE + "from"; // TODO
|
||||
|
||||
|
||||
+2
@@ -179,6 +179,8 @@ public class GdbModelTargetStackFrameRegisterContainer
|
||||
return frame.frame.writeRegisters(toWrite);
|
||||
}).thenCompose(__ -> {
|
||||
return updateRegisterValues(toWrite.keySet());
|
||||
}).thenCompose(__ -> {
|
||||
return frame.getParent().fetchElements(true);
|
||||
})).thenApply(__ -> null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user