ExpertiDict

C · Intermediário · Inglês · Técnico

AddressSanitizer

/ˈæ.dɹɛs ˈsæ.nɪ.taɪ.zɚ/substantivo

Detector de erros de memória embutido no gcc e no clang: ativado com -fsanitize=address, acusa estouro de buffer, use after free e vazamentos em tempo de execução.

Onde usar

É a primeira ferramenta a rodar diante de um crash estranho ou nos testes de CI. Deixa o programa cerca de duas vezes mais lento, mas aponta a linha exata do acesso inválido.

Em código

gcc -g -fsanitize=address -o prog main.c
./prog

Exemplos

Run the tests with AddressSanitizer on in CI.

Rode os testes com o AddressSanitizer ligado no CI.

AddressSanitizer pointed at the exact line of the use after free.

O AddressSanitizer apontou a linha exata do use after free.

Cuidado

Esperar que ele ache tudo: só detecta o que for executado nos testes e não pega leitura de memória não inicializada.

Sinônimos

ASan

Veja também

Todos os termos de C