2013-02-14 54 views
0

我有一个运行iOS 6.0.1的越狱iPhone 5。我在这里使用pod2g的教程安装了gdb:www.pod2g.org/2012/02/working-gnu-debugger-on-ios-43.html附加到运行过程中的iPhone GDB分段错误

所有步骤都奏效,我将gdb复制到了我的越狱版iPhone,所以我可以在那里使用它。 GDB启动就好了,但是当我尝试连接到跳板(或Twitter等其他任何正在运行的进程),使用

(gdb) attach SpringBoard 

发生这种情况:

Attaching to process 7366. 
Segmentation fault:11 

,我回到了MobileTerminal来或ssh提示符(不是gdb提示符)。看起来gdb已经崩溃,而不是SpringBoard,因为我的iPhone不会响应(因为它通常会在SpringBoard崩溃或死亡时发生)。我尝试使用cydia.radare.org源代码中的gdb连接到SpringBoard,每次都会发生完全相同的事情。大约一个星期前,cydia.radare.org源代码中的gdb工作得很好,但现在来自pod2g教程的gdb和来自Cydia源代码的gdb都产生了上述输出。我试过以root用户身份运行gdb,同样的事情发生。我GOOGLE了,我似乎无法找到像这样的东西。怎么了,我该如何解决?

+1

出于诊断的目的,您是否尝试过附加到任何其他进程?例如,尝试提供自己的假冒可执行文件(调用拦截功能,比如get),运行并附加到它。 – fons 2013-02-14 23:15:52

+0

@fons我尝试附加到其他正在运行的进程,如Twitter,iReddit,Terminal,lockdownd,mediaserverd,他们都给我完全相同的错误。 – 2013-02-15 00:07:22

回答

2

Apple已添加PTrace选项以防止调试器(如GDB)附加到进程。幸运的是,你也可以使用GDB来绕过这个。 这里是一个很好的描述: http://iphonedevwiki.net/index.php/Crack_prevention#PT_DENY_ATTACH

+0

我还没有尝试过这种方法,但是我发现将手机置于安全模式下会使流程变得可以连接。 – 2013-03-25 18:09:54