Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Descubra como utilizar o Address Sanitizer no ambiente Apple para detectar erros de memória

O Address Sanitizer (ASan) é uma ferramenta poderosa utilizada para detectar erros de memória em programas C/C++. Ele ajuda a identificar problemas como estouros de buffer, uso após liberação de memória, entre outros. No ambiente Apple, o Address Sanitizer está integrado ao Xcode, tornando-o uma ferramenta acessível para desenvolvedores que utilizam macOS.


Exemplos:


Habilitando o Address Sanitizer no Xcode


1. Abra o Xcode: Inicie o Xcode e abra o projeto que você deseja analisar.


2. Selecione o esquema de execução: No canto superior esquerdo, ao lado do botão de execução, clique no nome do esquema e selecione "Edit Scheme" (Editar Esquema).


3. Habilite o Address Sanitizer:



  • Na janela de edição do esquema, selecione a aba "Run" (Executar).

  • Vá até a seção "Diagnostics" (Diagnósticos).

  • Marque a opção "Address Sanitizer".


4. Execute o projeto: Com o Address Sanitizer habilitado, execute o projeto. O Xcode irá compilar o código com o ASan e, durante a execução, qualquer problema de memória detectado será reportado no console.


Exemplo de código com erro de memória


#include <stdio.h>
#include <stdlib.h>

int main() {
int *array = (int *)malloc(5 * sizeof(int));
for (int i = 0; i <= 5; i++) { // Erro: acesso fora dos limites do array
array[i] = i;
}
free(array);
return 0;
}

Ao executar o código acima com o Address Sanitizer habilitado, você deverá ver uma mensagem de erro indicando que houve um acesso fora dos limites do array.


Alternativas para o ambiente Apple


Além do Address Sanitizer, o Xcode oferece outras ferramentas de análise de código, como o Thread Sanitizer para detectar condições de corrida e o Undefined Behavior Sanitizer para identificar comportamentos indefinidos. Essas ferramentas também podem ser habilitadas na seção "Diagnostics" do esquema de execução.


To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.