diff --git a/Ghidra/Debug/Debugger-api/src/main/java/ghidra/app/services/DebuggerListingService.java b/Ghidra/Debug/Debugger-api/src/main/java/ghidra/app/services/DebuggerListingService.java index bdb764ed3a..2863195587 100644 --- a/Ghidra/Debug/Debugger-api/src/main/java/ghidra/app/services/DebuggerListingService.java +++ b/Ghidra/Debug/Debugger-api/src/main/java/ghidra/app/services/DebuggerListingService.java @@ -23,6 +23,7 @@ import ghidra.debug.api.action.LocationTrackingSpec; import ghidra.debug.api.listing.DebuggerListing; import ghidra.debug.api.listing.MultiBlendedListingBackgroundColorModel; import ghidra.framework.plugintool.ServiceInfo; +import ghidra.pcode.exec.SleighUtils.LitIdMode; import ghidra.program.model.address.Address; import ghidra.program.util.ProgramSelection; @@ -111,6 +112,23 @@ public interface DebuggerListingService extends CodeViewerService { */ boolean goTo(Address address, boolean centerOnScreen); + /** + * Set the mode of the Go-to dialog's Sleigh expressions + *

+ * This applies to all Go-to dialogs among the dynamic providers, including listings and memory + * (hex byte) views. + * + * @param mode the new mode + */ + void setGoToSleighMode(LitIdMode mode); + + /** + * Get the mode of the Go-to dialog's Sleigh expressions + * + * @return the current mode + */ + LitIdMode getGoToSleighMode(); + /** * Obtain a coloring background model suitable for the given listing * diff --git a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerListingPlugin/DebuggerListingPlugin.html b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerListingPlugin/DebuggerListingPlugin.html index be738abb7d..842597dcd8 100644 --- a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerListingPlugin/DebuggerListingPlugin.html +++ b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerListingPlugin/DebuggerListingPlugin.html @@ -154,25 +154,53 @@ point in time. If the current trace is live and at the present, the target may be queried to retrieve any machine state required to evaluate the expression. The expression may be in terms of labels, registers, and constants. Labels may come from the current trace or a program mapped - into the trace. Ambiguities are resolved arbitrarily.

+ into the trace. Ambiguities are resolved arbitrarily. Relative expressions are permitted by + starting with a plus (+) or minus (-). Additionally, a dot + (.) refers to the current address.

+

The radio buttons at the bottom indicate the default radix of integer literals:

+ + +

Note that a Go-To action can fail for many reasons, e.g., syntax errors, computation failures. One possible reason is that the address is not part of a memory region known to the debugger. This failure can be overcome by enabling Force Full View.

-

Some examples:

+

Some examples (in Hex mode):