Pular para o conteúdo
Campanário dos Sinais

/static/campanario/sino/sigtrap/

Menu

SIG-015 · Falhas do programa

SIGTRAP

O sino do depurador: cada breakpoint é um toque combinado.

Quando você marca um breakpoint, o depurador troca a instrução daquele endereço por uma armadilha — int3, no x86. O processo executa, cai na armadilha, o kernel toca SIGTRAP, e o ptrace entrega o controle ao depurador antes que o sinal siga viagem.

Fora do depurador o toque é fatal: um core dump como o das outras falhas. É também o sino do passo a passo — o modo single-step da CPU o toca a cada instrução — e a razão de um processo sob gdb parar exatamente onde você pediu.

$ gdb ./exemplo
(gdb) break main
Breakpoint 1 at 0x1139: file exemplo.c, line 5.
(gdb) run
Breakpoint 1, main () at exemplo.c:5
5         int n = conta();
A armadilha combinada entre depurador e kernel.