iOS模拟器应用程序的终端命令行调试?

问题描述:

是否可以在Mac OS X的终端命令行中使用GDB或LLDB来调试iOS模拟器上运行的应用程序? (例如,不是从Xcode的GUI或控制台中,而是使用外部命令行或进程)。如果是这样,怎么样?iOS模拟器应用程序的终端命令行调试?

您需要在模拟器的跳板中已经安装了应用程序;你不能从Xcode的模拟器启动应用程序,然后希望能够有一个gdb的命令行实例附加到它。

所以:

  1. 运行iPhone模拟器,其已经得到您的应用程序进去。
  2. 在终端窗口:
 
    % gdb 
    ... 
    (gdb) attach --waitfor 'Name Of Your App' 
  1. 启动从模拟器跳板您的应用程序。
  2. gdb应该附加到进程之前main()被执行。所以你可以设置一些断点,或其他。然后:
 
    (gdb) continue 

lldb的过程是相似的:

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

我不知道为什么你会想要或需要做到这一点,但作为一个老的命令行GDB(和DBX )家伙,我可以欣赏它。 :-)

+0

太漂亮了。先生,先生! – 2012-10-10 11:43:39

+0

使用'xcrun simctl'命令在模拟器上安装应用程序,然后启动它。 – tboyce12 2017-08-02 22:25:23