【发布时间】:2015-11-10 00:00:51
【问题描述】:
我一直在尝试组合一种“远程 gdb 代理”,但我似乎没有为停止数据包找到正确的信号编号。我在哪里/如何找到 gdb 实际使用的信号编号?至少 Debian Jessie repo 中的 gdb-multiarch 表现得很奇怪。
信号 31 显示为 SIG37 - 实时事件 37(我期望 SIGUSR2) 如果我发送信号 10,dgb 会显示“无法向此远程系统发送信号。未发送 SIGURG。”并发送一个“c”数据包(我希望是 SIGBUS)。
启用远程和串行调试后,我可以看到信号 31 和 10 实际上是由 gdb 接收的。
[编辑] 通过尝试,我发现了前 30 个信号。这是第一个: (星号表示无法继续调试) 2 信号 4 信号 5 SIGTRAP 6 SIGABRT * 7 信号 8 SIGFPE 9 信号杀手 10 西格* 11 信号停止 12 SIGTSTP 13 信号控制 * 14 SIGCHLD * 15 签名 * 16 西头 17 西吉奥 * 18 SIGXCPU *
[编辑2]
[r $][T][1][0][#][b][5]Packet received: T10
...
Can't send signals to this remote system. SIGURG not sent.
Sending packet: $c#63...[\x00][\x00][\x00][\x00][\x00][
r +]Ack
【问题讨论】: