NationalSecurityAgency/ghidra · error · RuntimeError
Usage: ghidra trace sync-disable
Error message
Usage: ghidra trace sync-disable
What it means
Raised by ghidra_trace_sync_disable when any argument is supplied. sync-disable stops synchronizing the current process (the inverse of sync-enable) but leaves hooks installed; it is parameterless (commands.py:2047).
Source
Thrown at Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py:2047
hooks.install_hooks()
hooks.enable_current_process()
@convert_errors
def ghidra_trace_sync_disable(debugger: lldb.SBDebugger, command: str,
result: lldb.SBCommandReturnObject,
internal_dict: Dict[str, Any]) -> None:
"""Cease synchronizing the current process with the Ghidra trace.
Usage: ghidra trace sync-disable
This is the opposite of 'ghidra trace sync-enable', except it will not
automatically remove hooks.
"""
args = shlex.split(command)
if len(args) != 0:
raise RuntimeError("Usage: ghidra trace sync-disable")
hooks.disable_current_process()
@convert_errors
def ghidra_trace_sync_synth_stopped(debugger: lldb.SBDebugger, command: str,
result: lldb.SBCommandReturnObject,
internal_dict: Dict[str, Any]) -> None:
"""Act as though the target has just stopped.
This may need to be invoked immediately after 'ghidra trace sync-
enable', to ensure the first snapshot displays the initial/current
target state.
"""
hooks.on_stop(None) # Pass a fake event
View on GitHub (pinned to d5f144c24d)
Solutions
- Run bare: `ghidra trace sync-disable`.
- Select each process and repeat to disable sync per process; hooks remain installed (use remove-hooks to tear them down).
Example fix
// before ghidra trace sync-disable all // after ghidra trace sync-disable
Defensive patterns
Strategy: validation
Validate before calling
assert len(command.split()) == 0, "sync-disable takes no arguments"
Prevention
- sync-disable affects only the current process; repeat per process.
- Hooks stay installed — use remove-hooks to fully tear down.
When it happens
Trigger: Appending a process id or `all` like `ghidra trace sync-disable 0`, or trailing text.
Common situations: Users expect to disable sync globally or for a non-current process; the command affects only the current process. They then notice other processes still sync.
Related errors
- Usage: ghidra trace sync-enable
- Usage: ghidra trace disassemble ADDRESS
- Usage: ghidra trace put-processes
- Usage: ghidra trace put-available
- Usage: ghidra trace put-breakpoints
AI-assisted analysis of NationalSecurityAgency/ghidra@d5f144c24d (2026-08-14).
Data as JSON: /api/errors/ffb62f27190a32f3.
Report an issue: GitHub.