NationalSecurityAgency/ghidra · error · RuntimeError
Usage: ghidra trace sync-enable
Error message
Usage: ghidra trace sync-enable
What it means
Raised by ghidra_trace_sync_enable when any argument is passed. sync-enable installs hooks (if needed) and enables synchronization for the current process so stops/frames are recorded into the trace; it is parameterless (commands.py:2027). Must be run per-process and only takes effect once a trace is started.
Source
Thrown at Ghidra/Debug/Debugger-agent-lldb/src/main/py/src/ghidralldb/commands.py:2027
def ghidra_trace_sync_enable(debugger: lldb.SBDebugger, command: str,
result: lldb.SBCommandReturnObject,
internal_dict: Dict[str, Any]) -> None:
"""Synchronize the current process with the Ghidra trace.
Usage: ghidra trace sync-enable
This will automatically install hooks if necessary. The goal is to record
the current frame, thread, and process into the trace immediately, and then
to append the trace upon stopping and/or selecting new frames. This action
is effective only for the current process. This command must be executed
for each individual process you'd like to synchronize.
This will have no effect unless or until you start a trace.
"""
args = shlex.split(command)
if len(args) != 0:
raise RuntimeError("Usage: ghidra trace sync-enable")
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)View on GitHub (pinned to d5f144c24d)
Solutions
- Run bare: `ghidra trace sync-enable`.
- Ensure a trace is started (`ghidra trace start`) first, and repeat the command for each process you want synced.
Example fix
// before ghidra trace sync-enable all // after ghidra trace sync-enable
Defensive patterns
Strategy: validation
Validate before calling
assert len(command.split()) == 0, "sync-enable takes no arguments"
Prevention
- sync-enable targets the current process only; repeat per process.
- Start a trace first; sync-enable is a no-op without one.
When it happens
Trigger: Appending a process id or `all` like `ghidra trace sync-enable all`, or trailing text.
Common situations: Users try to enable sync for every process at once; the command targets only the current process and must be repeated per process. It also silently does nothing until a trace exists.
Related errors
- Usage: ghidra trace sync-disable
- 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/6efa3ace3955afe5.
Report an issue: GitHub.