是否有可能使用GDB或LLDB从终端命令行下的Mac OS X上的iPhone模拟器运行调试应用程序? (例如不是从Xcode的GUI或控制台,但使用外部的命令行或过程中)。 如果是这样,怎么样?
Answer 1:
你需要已有的应用程序在模拟器的跳板; 您无法启动从Xcode的模拟器中的应用程序,然后希望能有GDB的命令行实例附加到它。
所以:
- 运行iPhone模拟器,其已经得到您的应用程序进去。
- 在终端窗口:
% gdb ... (gdb) attach --waitfor 'Name Of Your App'
- 从模拟器跳板启动您的应用程序。
- 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)的家伙,我可以欣赏它。 :-)
文章来源: Terminal command-line debug of iOS Simulator apps?