LinuxCommandLibrary

idevicecrashreport

Extract crash reports from connected iOS devices

TLDR

Retrieve crash reports and move them to a specified directory

$ idevicecrashreport [path/to/directory]
copy

Retrieve crash reports without removing them from the device
$ idevicecrashreport --keep [path/to/directory]
copy

Extract crash reports into separate .crash files
$ idevicecrashreport --extract [path/to/directory]
copy

SYNOPSIS

idevicecrashreport [OPTIONS]

PARAMETERS

-h, --help
    Displays a brief help message and exits.

-v, --version
    Shows the command's version information and exits.

-u UDID, --udid UDID
    Specifies the unique device identifier (UDID) of the iOS device to connect to. If omitted, the command will attempt to connect to the first available device.

-d, --debug
    Enables verbose debug output, useful for troubleshooting connection or processing issues.

-e PATH, --extract PATH
    Extracts crash reports from the device and saves them to the specified PATH directory.

-c, --copy
    Copies crash reports to the current working directory. This option is largely superseded by --extract and may be deprecated.

-s, --symbolicate
    Attempts to symbolicate the downloaded crash reports. Requires Xcode command-line tools or `atos` utility to be installed and accessible for proper functionality.

-k, --keep
    Keeps crash reports on the device after they have been processed or copied. By default, reports are removed from the device.

-m, --manifest
    Creates a manifest file (.manifest) containing metadata about the downloaded crash reports alongside the extracted files.

-p, --process
    Processes crash reports. This option often works in conjunction with --symbolicate to prepare reports for analysis.

-r, --remove
    Removes crash reports from the device after they have been processed or copied. This is the default behavior unless --keep is specified.

-o DIR, --output-dir DIR
    Specifies the output directory where processed files (e.g., symbolicated reports) should be saved. Typically used with --extract and --process.

-a, --all-reports
    Downloads all available crash reports from the device, not just the latest ones. Useful for comprehensive historical analysis.

DESCRIPTION

idevicecrashreport is a command-line utility from the libimobiledevice project. It provides functionality to interact with crash reports stored on iOS devices. Users can utilize this command to download, process (e.g., symbolicate for debugging), and optionally delete crash logs directly from an iPhone, iPad, or iPod Touch. It's an essential tool for developers and system administrators needing to analyze device stability and identify issues without relying solely on Xcode or iTunes.

CAVEATS

Symbolication relies on the presence of appropriate debug symbols (dSYMs) and the `atos` utility, typically found within Xcode command-line tools. Full symbolication on non-macOS systems can be challenging. Ensure your iOS device is unlocked and 'trusted' with the host computer for the command to function correctly.

TRUST RELATIONSHIP

For idevicecrashreport to function, the iOS device must establish a trust relationship with the host computer. This is typically initiated by unlocking the device and approving the 'Trust This Computer?' prompt.

DEPENDENCIES

The command requires the `usbmuxd` daemon to be running and the `libimobiledevice` libraries to be correctly installed on the system. These provide the underlying communication framework for interacting with iOS devices.

HISTORY

idevicecrashreport is part of the libimobiledevice project, an open-source initiative that began around 2007. The project aims to provide a cross-platform protocol library to communicate with Apple's iOS devices using native protocols, independent of official Apple software. idevicecrashreport was developed as one of the many utilities within this suite to specifically address the need for managing device crash logs, reflecting the community's effort to provide alternatives to proprietary tools for iOS development and debugging on Linux and other non-macOS platforms.

SEE ALSO

Copied to clipboard