Terminal command-line debug of iOS Simulator apps?

hotpaw2 picture hotpaw2 · Apr 11, 2012 · Viewed 7.8k times · Source

Is it possible to use GDB or LLDB from the Terminal command-line under Mac OS X to debug apps running on the iOS Simulator? (e.g. not from within Xcode's GUI or console, but using an external command-line or process). If so, how?

Answer

Mark Granoff picture Mark Granoff · Apr 11, 2012

You'll need to have the app already in the simulator's Springboard; you can't launch the app in the simulator from Xcode and then expect to be able to have a command line instance of gdb attach to it.

So:

  1. Run the iOS Simulator, having already gotten your app into it.
  2. In a terminal window:
    % gdb
    ...
    (gdb) attach --waitfor 'Name Of Your App'
  1. Launch your app from the simulator Springboard.
  2. gdb should attach to the process before main() is executed. So you can set some breakpoints, or whatever. Then:
    (gdb) continue

The procedure for lldb is similar:

    % lldb
    (lldb) process attach -n 'Name Of Your App' --waitfor
    <launch your app in the simulator>
    (lldb) continue

I am not sure why you'd want or need to do this, but as an old command line gdb (and dbx) guy, I can appreciate it. :-)