我刚刚开始使用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 ()
在此之后,程序变得反应迟钝。还有其他的论点,我需要传递给我,我失踪了吗? 感谢
答案 0 :(得分:1)
使用调试器附加时,它会自动停止程序。这就是它没有反应的原因。输入“cont”(或“继续”)让它继续运行。
它还会显示堆栈的顶部框架,它已停止。在这种情况下,这是mach_msg_trap()。这是一种非常常见的情况,因为在等待来自窗口服务器的事件时,通常会在该函数中阻止空闲应用程序。