0

我刚开始使用 gdb,所以我得到了一个我正在尝试调试的 CrackMe 应用程序。所以我运行了应用程序,在终端中启动了 gdb 并将其附加到 CrackMe 的 PID 中,它使应用程序崩溃了。

(gdb) attach 6040
Attaching to program: `/Users/***/Desktop/CrackMe.app/Contents/MacOS/CrackMe', process 6040.
Reading symbols for shared libraries + done
Re-enabling shared library breakpoint 1
Re-enabling shared library breakpoint 2
0x00007fff8428767a in mach_msg_trap ()

在此之后,程序变得无响应。还有其他我需要传递的论点来附加我遗漏的吗?谢谢

4

1 回答 1

1

当您使用调试器附加时,它会自动停止程序。这就是它反应迟钝的原因。输入“cont”(或“continue”)让它继续。

它还向您显示堆栈的顶部框架,它已停止。在这种情况下,这就是 mach_msg_trap()。这是一种非常常见的情况,因为空闲应用程序在等待来自窗口服务器的事件时通常会在该函数中被阻止。

于 2012-04-04T14:59:30.600 回答