2012-04-04 52 views
0

我剛剛開始與gdb,所以我得到了一個我想調試的CrackMe應用程序。於是我運行了應用程序,在終端中啓動了gdb,並將其附加到CrackMe的PID中,並使應用程序崩潰。gdb附加過程原因mach_msg_trap()

(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() 

然後,程序變得無響應。是否還有其他的論點,我需要通過附加,我失蹤? 謝謝

回答

1

當您使用調試器時,它會自動停止程序。這就是爲什麼它沒有反應。輸入「cont」(或「continue」)讓它繼續前進。

它也顯示了堆棧的頂部框架,它已停止。在這種情況下,這是mach_msg_trap()。這是一個非常常見的情況,因爲空閒的應用程序在等待來自窗口服務器的事件時通常會被阻止在該函數中。