附加到進程時,gdb發送了哪個信號?這對不同的UNIX工作是否一樣?例如。 Linux和Mac OS X?附加到進程時gdb發送哪個信號?
到目前爲止我只發現,SIGTRAP被用來實現斷點。它是否用於附着?
附加到進程時,gdb發送了哪個信號?這對不同的UNIX工作是否一樣?例如。 Linux和Mac OS X?附加到進程時gdb發送哪個信號?
到目前爲止我只發現,SIGTRAP被用來實現斷點。它是否用於附着?
AFAIK它不需要任何信號附加。它只是通過調用ptrace來暫停「劣勢」。它還讀取使用此調用的調試進程內存和寄存器,並且它可以請求單步執行指令(假設它在linux的該端口上實現)等。 通過在正確的位置放置觸發「陷阱」或類似命令的指令來實現軟件斷點到達時,但調試過程可以全速運行,直到此時。
另外(如前所述,在閱讀man ptrace旁邊),請參閱ptrace explanation on wikipedia。
ptrace是正確的,發現現在和現在 – mschneider
'man ptrace' ... –