ExpertiDict

C · Avançado · Inglês · Técnico

UBSan

/ˌjuː.biː.ˈɛs.æn/substantivo

Undefined Behavior Sanitizer, ativado com -fsanitize=undefined, instrumenta o programa para acusar em tempo de execução overflow de inteiro com sinal, shifts inválidos, desreferência nula e outros comportamentos indefinidos.

Onde usar

Roda junto do AddressSanitizer em CI para pegar bugs que o compilador esconde. Imprime a linha e o tipo do problema, como 'signed integer overflow', em vez de falhar de forma misteriosa.

Em código

gcc -g -fsanitize=undefined -o prog main.c
./prog
# runtime error: signed integer overflow

Exemplos

UBSan caught a signed integer overflow in the hash function.

O UBSan pegou um overflow de inteiro com sinal na função de hash.

Build the tests with ASan and UBSan enabled.

Compile os testes com ASan e UBSan ligados.

Cuidado

Achar que um programa sem avisos do UBSan está livre de comportamento indefinido; ele só vê o que os testes executam.

Sinônimos

undefined behavior sanitizer

Veja também

Todos os termos de C