小编Chr*_*ris的帖子

为什么忽略SIGTRAP不能与asm一起使用?

我试图忽略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,为什么我的程序会终止?

c linux signals

5
推荐指数
1
解决办法
477
查看次数

标签 统计

c ×1

linux ×1

signals ×1