iphone - 将 GDB 附加到进程 ID 并在 iPhone 上列出其 ARM 寄存器的最佳方法?

标签 iphone objective-c gdb applescript nstask

只是想知道,将 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/

相关文章:

c - 使用 Eclipse CDT 调试静态库

c++ - eclipse cdt cygwin gdb stackdump 不是核心转储文件格式无法识别

iphone - 垂直对齐 CATextLayer 中的文本?

iphone - 在 xcode 中是否可以同时在 *iphone 设备* 和 *iphone 模拟器* 中运行应用程序?

ios - 向苹果商店提交应用程序(验证问题)

ios - 无法将数据写入硬件外围设备

gcc - 如何对 Linux 内核进行反优化以避免值(value)被优化掉

iphone - 核心数据查询慢

ios - NsNumberFormatter 没有给出正确的结果

ios - 显示黑屏而不是 UICollectionView