只是想知道,将 GDB 附加到进程 ID 并在 iPhone 上列出其 ARM 寄存器的最可靠/最佳方法是什么(通过 cocoa 应用程序)?我尝试 NSTask 已经有一段时间了,它能够列出特定进程的 x86 寄存器(通过 iOS 模拟器)。但是当部署在 iPhone 上时,它不起作用。我还没有看到任何人执行成功的异步操作,例如我在 iPhone 上寻找的。我正在考虑使用 Applescript 来运行一个带有 gdb 命令的 bash 脚本,有人愿意评论这样一个任务的可行性吗?
非常感谢任何帮助!
我尝试使用 NSTask 实现这个目标可以在这里找到:
Strange GDB behaviour once application is deployed to a jailbroken iPhone
最佳答案
如果您询问如何在应用程序中执行此操作:您无法在 iOS 上进行有意义的操作。您的进程被限制为无法访问其他进程,当然也不能生成 GDB 以任何方式影响它们。
如果您询问如何从 Xcode 中执行此操作:选择 Product
菜单,然后选择 Attach to Process
。 (这假设 Xcode 4。我不记得 Xcode 3 菜单项,但如果您使用 Help
菜单中的搜索栏,您可以轻松找到它。)
关于iphone - 将 GDB 附加到进程 ID 并在 iPhone 上列出其 ARM 寄存器的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252944/