4

只是想知道,将 GDB 附加到进程 ID 并在 iPhone 上列出其 ARM 寄存器(通过可可应用程序)的最可靠/最佳方法是什么?我一直在尝试 NSTask 很长一段时间,它能够列出特定进程的 x86 寄存器(通过 iOS 模拟器)。但是当部署在 iPhone 上时,它就不起作用了。我还没有看到有人执行成功的异步操作,例如我在 iPhone 上寻求的操作。我正在考虑使用 Applescript 运行带有 gdb 命令的 bash 脚本,有人愿意评论这样一项任务的可行性吗?

很感谢任何形式的帮助!

我尝试使用 NSTask 来实现这个目标可以在这里找到:

将应用程序部署到越狱的 iPhone 后出现奇怪的 GDB 行为

4

1 回答 1

1

如果您在应用程序中询问如何执行此操作:您无法在 iOS 上有意义地执行此操作。您的进程仅限于无法访问其他进程,当然也不能生成 GDB 以任何方式影响它们。

如果您在 Xcode 中询问如何执行此操作:选择Product菜单,然后选择Attach to Process. (这里假设 Xcode 4。我不记得 Xcode 3 的菜单项,但如果您使用Help菜单中的搜索栏,您可以轻松找到它。)

于 2011-09-06T01:32:54.193 回答