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
idevice_id(1), idevicesyslog(1), ideviceinstaller(1), usbmuxd(8)


