是否可以从 Mac OS X 下的终端命令行使用 GDB 或 LLDB 来调试在 iOS 模拟器上运行的应用程序?(例如,不是来自 Xcode 的 GUI 或控制台,而是使用外部命令行或进程)。如果是这样,怎么做?
问问题
8368 次
1 回答
30
您需要已经在模拟器的 Springboard 中安装了该应用程序;您无法从 Xcode 在模拟器中启动应用程序,然后期望能够将 gdb 的命令行实例附加到它。
所以:
- 运行 iOS 模拟器,已经将您的应用程序放入其中。
- 在终端窗口中:
%gdb ... (gdb) attach --waitfor '您的应用程序的名称'
- 从模拟器 Springboard 启动您的应用程序。
- gdb 应该在执行之前 附加到进程
main()
。所以你可以设置一些断点,或者其他什么。然后:
(gdb) 继续
的过程lldb
类似:
%lldb (lldb) process attach -n 'Name Of Your App' --waitfor <在模拟器中启动您的应用程序> (lldb) 继续
我不确定您为什么想要或需要这样做,但作为一个老命令行 gdb(和 dbx)的人,我可以理解它。:-)
于 2012-04-11T19:18:10.050 回答