LinuxCommandLibrary

idevicedebugserverproxy

Proxy debug connections to iOS devices

SYNOPSIS

idevicedebugserverproxy [OPTIONS] [HOST[:PORT]]

PARAMETERS

-d, --debug
    Enable verbose communication debugging output

-u UDID, --udid UDID
    Target a specific device by its unique identifier

-n, --network
    Connect to network-attached (Wi-Fi) devices instead of USB

-V, --version
    Print version information and exit

-h, --help
    Display help and exit

DESCRIPTION

The idevicedebugserverproxy command is a tool from the libimobiledevice suite that forwards the debugserver process running on an iOS device to the local host machine.

It enables developers to use native debugging tools like LLDB or GDB on Linux (or other hosts) to attach to and debug applications executing on the connected iOS device.

Typically, you start an app on the device, then run this proxy on the host specifying a local port. The tool establishes a connection via usbmuxd, proxies the device's debugserver port (often dynamically allocated), and binds it to the specified host address and port.

This is essential for remote debugging without relying on Xcode or macOS, supporting features like breakpoints, variable inspection, and stack traces.

Requires libimobiledevice installed, device unlocked and trusted, and often a provisioning profile for non-jailbroken devices to enable debugserver access.

Common workflow: Launch app on device, run idevicedebugserverproxy localhost:1234, then lldb -p 1234 on host.

CAVEATS

Requires device trust and unlocked screen; debugserver access may need provisioning profile or jailbreak on non-jailbroken devices.
May fail if multiple devices connected without -u. Default binds to localhost:10840 if no HOST:PORT specified.

INSTALLATION

Install libimobiledevice-utils package:
Ubuntu/Debian: sudo apt install libimobiledevice-utils
Fedora: sudo dnf install libimobiledevice-utils

EXAMPLE USAGE

idevicedebugserverproxy -u <UDID> localhost:1234
Then: lldb and process connect connect://localhost:1234

HISTORY

Part of libimobiledevice project (since 2007 by Nikias Bassen); idevicedebugserverproxy added around 2010 to support cross-platform iOS debugging amid iTunes restrictions.

SEE ALSO

Copied to clipboard