附加到进程时gdb发送了哪个信号?对于不同的UNIX,这是否相同?例如。 Linux和Mac OS X?
到目前为止,我才发现,SIGTRAP用于实现断点。是否用于附着?
答案 0 :(得分:2)
AFAIK它不需要任何附加信号。它只是通过调用ptrace暂停“劣等”。它还使用此调用读取调试的进程内存和寄存器,它可以请求指令单步执行(假设它在linux的那个端口上实现)等。 软件断点是通过放置正确的位置指令来实现的,该指令在到达时触发“陷阱”或类似的东西,但调试过程可以全速运行直到那时。
另外(如前所述,阅读man ptrace旁边)请参阅ptrace explanation on wikipedia。