我试图忽略SIGTRAP.我有以下概念证明代码:
#include <signal.h>
#include <stdlib.h>
int main(){
signal(SIGTRAP, SIG_IGN);
write(1, "A", 1);
asm("int3");
write(1, "B", 1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我希望看到"AB",但我明白了
ATrace/breakpoint trap (core dumped)
Run Code Online (Sandbox Code Playgroud)
尽管忽略了SIGTRAP,为什么我的程序会终止?