Docs Operation reference debug operations
debug operations#
10 operations. Generated from assets/operations.json; all areas.
On this page (10)
debug.start#
Start debugger
Start or reuse a persistent JDWP Android/JVM, native Android LLDB, or local LLDB Swift/native debug session. Android sessions exclusively own their device until disconnected.
Annotations: writes, not idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
backend | string | yes | one of jdwp, lldb, android-lldb | |
device | string | |||
bundle_id | string | |||
launch | boolean | true | JDWP: restart and wait for the debugger. Android LLDB: launch only if the app is not already running, then attach. Existing native app processes are preserved. | |
port | integer | 1 to 65535 | ||
adapter | string | |||
program | string | Local executable, or matching unstripped ELF library for android-lldb. | ||
cwd | string | |||
args | array of string | up to 100 items | ||
pid | integer | 1 to 2147483647 | ||
stop_on_entry | boolean | true | ||
environment | object | |||
source_map | array of array | up to 100 items | ||
symbol_paths | array of string | up to 20 items; Additional local directories containing matching unstripped Android native libraries. |
tomaccoctl call debug.start '{"backend":"jdwp"}'
debug.list#
Debug sessions
List persistent debug sessions and detect exited workers.
Annotations: read-only, idempotent, open world.
Takes no arguments.
tomaccoctl call debug.list
debug.state#
Debugger status
Read current stop state, target and active thread.
Annotations: read-only, idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} |
tomaccoctl call debug.state '{"session":"<session>"}'
debug.events#
Debugger events
Read bounded, cursor-based debugger events.
Annotations: read-only, idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
after | integer | 0 | 0 to 9007199254740991 | |
limit | integer | 100 | 1 to 1000 |
tomaccoctl call debug.events '{"session":"<session>"}'
debug.breakpoints#
Set breakpoints
Replace breakpoints in a Java/Kotlin class name (JDWP) or absolute source file (LLDB); unloaded classes remain pending until prepared.
Annotations: writes, not idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
source | string | yes | non-empty | |
lines | array of integer | yes | up to 200 items |
tomaccoctl call debug.breakpoints '{"session":"<session>","source":"<source>","lines":[1]}'
debug.threads#
Read threads
Read target threads and identifiers.
Annotations: read-only, idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} |
tomaccoctl call debug.threads '{"session":"<session>"}'
debug.stack#
Read call stack
Read source frames for a stopped thread.
Annotations: read-only, idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
thread_id | string | |||
limit | integer | 30 | 1 to 100 |
tomaccoctl call debug.stack '{"session":"<session>"}'
debug.variables#
Read variables
Read frame locals (JDWP), frame scopes (LLDB), or expand an object/scope reference.
Annotations: read-only, idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
thread_id | string | |||
frame_id | string | |||
reference | string | |||
start | integer | 0 | 0 to 100000 | |
count | integer | 100 | 1 to 1000 |
tomaccoctl call debug.variables '{"session":"<session>"}'
debug.evaluate#
Evaluate expression
LLDB evaluates expressions; JDWP resolves a local variable or dotted field path without executing target methods.
Annotations: writes, not idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
thread_id | string | |||
frame_id | string | |||
expression | string | yes | non-empty, up to 10000 characters |
tomaccoctl call debug.evaluate '{"session":"<session>","expression":"<expression>"}'
debug.control#
Control debugger
Pause, continue, step or detach. Disconnect resumes the target without terminating it.
Annotations: writes, not idempotent, open world.
| Argument | Type | Required | Default | Details |
|---|---|---|---|---|
session | string | yes | matching [a-f0-9]{32} | |
thread_id | string | |||
action | string | yes | one of pause, continue, next, stepIn, stepOut, disconnect |
tomaccoctl call debug.control '{"session":"<session>","action":"pause"}'