2013-07-07 73 views
2

附加到進程時,gdb發送了哪個信號?這對不同的UNIX工作是否一樣?例如。 Linux和Mac OS X?附加到進程時gdb發送哪個信號?

到目前爲止我只發現,SIGTRAP被用來實現斷點。它是否用於附着?

+2

'man ptrace' ... –

回答

2

AFAIK它不需要任何信號附加。它只是通過調用ptrace來暫停「劣勢」。它還讀取使用此調用的調試進程內存和寄存器,並且它可以請求單步執行指令(假設它在linux的該端口上實現)等。 通過在正確的位置放置觸發「陷阱」或類似命令的指令來實現軟件斷點到達時,但調試過程可以全速運行,直到此時。

另外(如前所述,在閱讀man ptrace旁邊),請參閱ptrace explanation on wikipedia

+0

ptrace是正確的,發現現在和現在 – mschneider