pymobiledevice3 crash¶
List, pull, parse, watch and delete crash reports (and sysdiagnose archives).
clear¶
Delete all crash reports under a path (default: everything; no confirmation).
Arguments:
| Argument | Description |
|---|---|
remote_file |
Path under the crash reports directory to clear. [default: /] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-f, --flush |
Run flush first, so pending reports are deleted too. |
-m, --match <str> |
Only remove what pull --match would pull for the given basename regex (without copying). |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
parse¶
Print a crash report from the device in a readable, parsed form.
Arguments:
| Argument | Description |
|---|---|
remote_file |
Crash report path, relative to the crash reports directory. [required] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
parse-latest¶
Parse the latest top-level crash report(s) under a path, newest first.
Arguments:
| Argument | Description |
|---|---|
remote_file |
Path whose top-level reports should be searched. [default: /] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-m, --match <str> |
Case-sensitive basename regex filter (repeatable; all must match). |
-mi, --match-insensitive <str> |
Case-insensitive basename regex filter (repeatable; all must match). |
-n, --count <int range> |
Maximum number of latest reports to parse. [default: 1; x>=1] |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
pull¶
Download crash reports from the device (all of them by default).
Arguments:
| Argument | Description |
|---|---|
out |
Local directory to save the reports into. [required] |
remote_file |
File or directory to pull, relative to the crash reports directory. [default: /] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-e, --erase |
Delete each report from the device after pulling it. |
-m, --match <str> |
Only pull entries whose basename matches this regex. |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
shell¶
Open an interactive file shell rooted at the crash reports directory.
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
--tool <str> |
also offer this host tool as a command inside the shell, e.g. --tool jq (repeatable) |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
webdav¶
Serve the crash reports directory over WebDAV for local mounting; runs until Ctrl+C.
Arguments:
| Argument | Description |
|---|---|
path |
AFC path to serve as the volume root (default: /) [default: /] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
--mount |
mount the served path locally and reveal it in your file manager |
--host <str> |
local interface to bind [default: 127.0.0.1] |
--bind-port <int> |
local TCP port (0 picks a free port) [default: 0] |
--readonly |
expose the path read-only |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
ls¶
List crash reports and folders in the crash reports directory.
Arguments:
| Argument | Description |
|---|---|
remote_file |
Directory to list, relative to the crash reports directory. [default: /] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-d, --depth <int> |
How many levels deep to list (-1 for unlimited). [default: 1] |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
flush¶
Move pending crash reports into the crash reports directory (via crashreportmover).
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
watch¶
Print each new crash report as the device creates it; runs until Ctrl+C.
Arguments:
| Argument | Description |
|---|---|
name |
Only show reports of the process with this name. |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-r, --raw |
Print each report's raw text instead of the parsed report. |
--format <text\|json> |
Output format. 'json' emits one JSON object per line (NDJSON) on stdout. [default: text] |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.
sysdiagnose¶
Wait for a sysdiagnose you trigger on the device, then download it.
This command does not start the sysdiagnose: press Power+VolUp+VolDown together briefly on the device (as prompted), then wait for the archive.
Arguments:
| Argument | Description |
|---|---|
out |
Local path to save the archive to. [required] |
Options:
| Option | Description |
|---|---|
--native |
macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE] |
-e, --erase |
Delete the archive from the device after pulling it. |
-t, --timeout <float> |
Maximum time in seconds to wait for the sysdiagnose archive to complete (default: no limit). |
Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.