Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A tabela a seguir lista as opções para o AddressSanitizer. Habilite-os através da ASAN_OPTIONS variável de ambiente ou substituindo a __asan_default_options() função de usuário descrita aqui.
Observação
Essas descrições levam em conta comportamentos específicos do Microsoft Visual C++ (MSVC), que podem variar das opções de tempo de execução do Clang.
| Flag | Valor predefinido | Description |
|---|---|---|
abort_on_error |
false |
Se true, ASan chama abort() em vez de depois de imprimir o relatório de _exit() erros. |
alloc_dealloc_mismatch |
false |
Deteta operações de memória incompatíveis, como malloc/delete, new[]/freee assim por diante. |
allocator_frees_and_returns_null_on_realloc_zero |
true |
Se definido como true, realloc(p, 0) é o mesmo free(p) que por padrão (que é o mesmo que o padrão POSIX). Se definido como false, realloc(p, 0) retorna um ponteiro para um espaço alocado que não pode ser usado. |
allocator_may_return_null |
false |
Se true, o alocador retorna nullptr quando falta memória. Em vez de falhar, o ASan emite um aviso sobre a falha do alocador e a execução continua. |
allow_user_poisoning |
true |
Se true, você pode marcar manualmente regiões de memória como envenenadas ou não envenenadas usando a interface de envenenamento Manual AddressSanitizer. |
check_initialization_order |
false |
Se true, tenta detetar problemas de ordem de inicialização. |
continue_on_error |
0 | Permite que um aplicativo continue em execução enquanto relata erros de segurança de memória. 0-desativado. 1-habilitado; Os erros são enviados para stdout.2-habilitado; Os erros são enviados para stderr.Para obter mais informações, consulte continue_on_error. |
detect_container_overflow |
true |
Se true, honre as anotações de estouro do contêiner. Para obter mais informações, consulte ContainerOverflow. |
detect_invalid_pointer_pairs |
false |
Se trueo ASan detetar operações como <, <=, >, >=, e - em pares de ponteiros inválidos, como ponteiros que pertencem a objetos diferentes. |
detect_stack_use_after_return |
false |
Experimental. Se true, o ASan habilita stack-use-after-return a verificação em tempo de execução. Requer /fsanitize-address-use-after-return. Para obter mais informações, consulte stack-use-after-return. |
exitcode |
1 | Substitui o status de saída do programa com esse valor se o ASan encontrar um erro. |
external_symbolizer_path |
"" | Caminho para o simbolizador externo. Se estiver vazio, ASan procura $PATH o simbolizador. |
fast_unwind_on_malloc |
true |
Se disponível, o ASan usa o desenrolador rápido baseado em ponteiro de quadro no malloc/free. |
halt_on_error |
true |
Não suportado. Utilize continue_on_error em substituição. |
handle_segv |
true |
Se true, ASan lida com SEGV erros. |
handle_sigfpe |
true |
Se true, ASan lida com SIGFPE erros. |
handle_sigill |
true |
Se true, ASan lida com SIGILL erros. |
help |
false |
Se true, o ASan imprime as opções de sinalizador no console. |
iat_overwrite |
error |
error - Relata um erro sempre que uma substituição é detetada.protect - tenta evitar o uso da definição sobrescrita.ignore - não tenta corrigir nenhuma função substituída. Para obter mais informações, consulte iat_overwrite. |
include_if_exists |
"" | Lê as opções do arquivo especificado. O ASan não falhará se o arquivo não existir. |
intercept_strpbrk |
true |
If true, usa wrappers personalizados para strpbrk encontrar mais erros. |
intercept_strspn |
true |
Se true, usa wrappers personalizados para strspn e strcspn para encontrar mais erros. |
intercept_strstr |
true |
Se true, usa wrappers personalizados para strstr e strcasestr para encontrar mais erros. |
malloc_context_size |
1 | Número máximo de quadros de pilha a manter para cada alocação/deslocalização. |
malloc_fill_byte |
0xbe |
Valor usado para preencher a memória recém-alocada. |
max_malloc_fill_size |
4096 | O alocador ASan preenche uma alocação com malloc_fill_byte até max_malloc_fill_size uma chamada para malloc. |
max_redzone |
2048 | Tamanho máximo (em bytes) de redzones em torno de objetos de pilha. |
new_delete_type_mismatch |
true |
Comunicar erros sobre incompatibilidade entre o tamanho de new e delete. Para obter mais informações, consulte new-delete-type-mismatch. |
poison_heap |
true |
Se true, envenene a memória de pilha na alocação e deslocalização.
false é útil para aferir o alocador ou instrumentador. |
poison_partial |
true |
Se true, envenene palavras alinhadas de 8 bytes parcialmente endereçáveis. Esse sinalizador afeta buffers globais e de heap, mas não buffers de pilha. |
print_cmdline |
false |
Imprima a linha de comando em caso de falha. Com continue_on_error set >= 1, imprime o diretório de trabalho atual e está UTF-16 ciente. |
print_legend |
true |
Se true, imprima a legenda do mapa de memória de sombra para acompanhar o relatório ASan. |
print_stats |
false |
Se true, imprima as estatísticas do alocador depois de imprimir o relatório ASan. |
print_summary |
true |
Se false, desativa a exibição de resumos de erros que acompanham os relatórios de erros. |
quarantine_size_mb |
-1 | Tamanho (em Mb) da quarentena usada para detetar use-after-free erros. Um valor mais baixo pode aumentar a probabilidade de falsos negativos. |
redzone |
16 | Tamanho mínimo (em bytes) de redzones em torno de objetos de pilha. Requisito: redzone >= 16 e deve ser um poder de dois. |
replace_str |
true |
If true, usa wrappers personalizados e substituições para libc funções de cadeia de caracteres para encontrar mais erros. |
report_globals |
1 | Como responder ao estouro de buffer para globais: 0-Não deteta estouro de buffer em globais. 1 - detetar estouro de buffer. 2 - detetar estouro de buffer e imprimir dados globais registrados. |
sleep_before_dying |
0 | Número de segundos de suspensão entre a impressão de um relatório de erros e o encerramento do programa. |
stack_trace_format |
DEFAULT |
Formatar cadeia de caracteres usada para renderizar quadros de pilha.
DEFAULT
-
#%n %p %F %L. Lista de espaços reservados disponíveis:%% - representa um '%' personagem%n - número do quadro (cópia de frame_no)%p - PC%m - caminho para o módulo%o - deslocamento no módulo%f - nome da função%q - se disponível, deslocamento na função%s - caminho para o arquivo de origem%l - linha no ficheiro de origem%c - coluna no ficheiro de origem%F - se a função for conhecida, ASan imprime in <func name> seguido do deslocamento nesta função se a fonte for desconhecida%S - ASan imprime informações de arquivo/linha/coluna%L - Se as informações do arquivo estiverem disponíveis, o ASan imprimirá o nome do arquivo, a linha e a coluna. Se as informações do módulo estiverem disponíveis, o ASan imprimirá o nome, o deslocamento e a arquitetura do módulo. Se nenhum dos dois estiver disponível, o ASan imprime (<unknown module>)%M - Se conhecido, o ASan imprime o nome base do módulo e o deslocamento, ou PC |
strict_memcmp |
true |
Se true, assume que memcmp(p1, p2, n) sempre lê bytes antes de n comparar p1 e p2. |
strict_string_checks |
false |
Se true, verifica se os argumentos de cadeia de caracteres são terminados corretamente em nulo. |
strip_path_prefix |
"" | Remove esse prefixo dos caminhos de arquivo em relatórios de erros. |
symbolize |
true |
Se true, use o llvm-symbolizer para transformar endereços virtuais em locais de arquivo ou linha. |
symbolize_inline_frames |
true |
Imprima molduras embutidas em stacktraces. |
verbosity |
0 | Nível de verbosidade: 0 - verbosidade padrão. 1 - mais saída. 2 - ainda mais saída. 3 - verbosidade máxima. |
windows_fast_fail_on_error |
false |
Se true, o processo pode terminar com um após a impressão do relatório de __fastfail(71) erros. Para obter mais informações, consulte windows_fast_fail_on_error. |
windows_hook_legacy_allocators |
true |
Se true, habilita a conexão de funções (Global/Local)().Alloc/Free/Size/ReAlloc/Lock/Unlock |
Consulte também
Visão geral do AddressSanitizer
Problemas conhecidos do AddressSanitizer
Compilação e referência de linguagem AddressSanitizer
AddressSanitizer shadow bytes
AddressSanitizer nuvem ou testes distribuídos
Integração do depurador AddressSanitizer
Exemplos de erro AddressSanitizer