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/

相关文章:

iPhone - 在旧版 SDK : __IPHONE_OS_VERSION_MAX_ALLOWED values 上编译

iphone - 如何在 iPhone 上执行 HTML 文件( objective-c )?

ios - MKAnnotationView 标注中的反转文本

iOS:以编程方式打开 Wifi 设置屏幕

gdb - GDB 可以从 C 程序的核心转储中打印结构的大小吗?

c++ - 用于调试信息文件的 DWARF diff 工具

ios - 将图像从 Objective VC 发送到 Swift 配置的 VC

ios - AVPlayer 在播放 HLS/AES 加密视频之前发出无关的 http 请求

ios - 在 Metal 中反射着色器统一名称

c - 如何观察 gdb 中不断变化的指针的值?