附加到进程时 gdb 发送哪个信号?这对于不同的 UNIX 是否同样有效。例如 Linux 和 Mac OS X?
到目前为止,我只发现 SIGTRAP 用于实现断点。它也用于连接吗?
AFAIK 它不需要附加任何信号。它只是通过调用 ptrace 来暂停“劣质”。它还使用此调用读取已调试的进程内存和寄存器,并且可以请求指令单步执行(前提是它在 linux 的该端口上实现)等。软件断点是通过在正确的位置放置触发“陷阱”或类似的指令来实现的已达到,但调试的进程可以在此之前全速运行。
另外(在阅读 man ptrace 之后,如前所述)请参阅wikipedia 上的 ptrace 解释。