Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A tabela a seguir lista as opções para o AddressSanitizer. Habilite-os por meio 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 representam comportamentos específicos do MICROSOFT Visual C++ (MSVC), que podem variar de acordo com as opções de runtime do Clang.
| Flag | Valor padrão | Description |
|---|---|---|
abort_on_error |
false |
If true, ASan calls abort() instead of _exit() after printing the error report. |
alloc_dealloc_mismatch |
false |
Detecta 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 retornará nullptr quando estiver sem memória. Em vez de falhar, o ASan emite um aviso sobre a falha e a execução do alocador. |
allow_user_poisoning |
true |
Se true, você poderá marcar manualmente as regiões de memória como envenenadas ou despojadas usando a interface de envenenamento do AddressSanitizer Manual. |
check_initialization_order |
false |
Se true, tenta capturar 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 desabilitado. Habilitado para 1; os erros são enviados para stdout.Habilitado para 2; os erros são enviados para stderr.Para obter mais informações, consulte continue_on_error. |
detect_container_overflow |
true |
Se true, honrem as anotações de estouro do contêiner. Para obter mais informações, consulte ContainerOverflow. |
detect_invalid_pointer_pairs |
false |
Iftrue, ASan detecta operações como<, , <=, >>=e - em pares de ponteiro inválidos, como ponteiros que pertencem a objetos diferentes. |
detect_stack_use_after_return |
false |
Experimental. Se true, o ASan habilita a stack-use-after-return verificação no runtime. 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, o ASan procurará $PATH o simbolizador. |
fast_unwind_on_malloc |
true |
Se disponível, o ASan usará o desenrolador baseado em ponteiro de quadro rápido em malloc/free. |
halt_on_error |
true |
Não há suporte. Use continue_on_error em seu lugar. |
handle_segv |
true |
Se true, o ASan manipula SEGV erros. |
handle_sigfpe |
true |
Se true, o ASan manipula SIGFPE erros. |
handle_sigill |
true |
Se true, o ASan manipula 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 um substituição é detectado.protect – tenta evitar o uso da definição substituída.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 |
Se 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 serem mantidos para cada alocação/desalocação. |
malloc_fill_byte |
0xbe |
Valor usado para preencher memória alocada recentemente. |
max_malloc_fill_size |
4096 | O alocador ASan preenche uma alocação com malloc_fill_byte até max_malloc_fill_size em uma chamada para malloc. |
max_redzone |
2048 | Tamanho máximo (em bytes) de zonas vermelhas em torno de objetos heap. |
new_delete_type_mismatch |
true |
Relatar erros de 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 do heap na alocação e na desalocação.
false é útil para fazer o benchmarking do alocador ou instrumentador. |
poison_partial |
true |
Se true, envenene palavras alinhadas parcialmente endereçáveis de 8 bytes. Esse sinalizador afeta buffers globais e heap, mas não buffers de pilha. |
print_cmdline |
false |
Imprima a linha de comando em 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 do ASan. |
print_stats |
false |
If true, print allocator stats after printing ASan report. |
print_summary |
true |
Se false, desabilita a exibição de resumos de erros que acompanham relatórios de erro. |
quarantine_size_mb |
-1 | Tamanho (em Mb) da quarentena usada para detectar use-after-free erros. Um valor menor pode aumentar a chance de falsos negativos. |
redzone |
16 | Tamanho mínimo (em bytes) de zonas vermelhas em torno de objetos heap. Requisito: redzone >= 16 e deve ser uma potência de dois. |
replace_str |
true |
Se 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 detecte estouro de buffer em globais. 1 – detectar estouro de buffer. 2 – detectar estouro de buffer e imprimir dados globais registrados. |
sleep_before_dying |
0 | Número de segundos para suspensão entre imprimir um relatório de erro e encerrar o 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 '%' caractere%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 arquivo de origem%c - coluna no arquivo de origem%F - se a função for conhecida, o ASan imprimirá in <func name> seguido pelo deslocamento nessa função se a origem 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 do módulo, o deslocamento e a arquitetura. Se nenhum dos dois estiver disponível, o ASan imprimirá (<unknown module>)%M - Se conhecido, o ASan imprime o nome base e o deslocamento do módulo ou PC |
strict_memcmp |
true |
Se true, pressupõe que memcmp(p1, p2, n) sempre lê n bytes antes de p1 comparar e p2. |
strict_string_checks |
false |
Se true, verifique se os argumentos de cadeia de caracteres são corretamente encerrados em nulo. |
strip_path_prefix |
"" | Remove esse prefixo de caminhos de arquivo em relatórios de erro. |
symbolize |
true |
Se true, use a llvm-symbolizer para transformar endereços virtuais em locais de arquivo ou linha. |
symbolize_inline_frames |
true |
Imprima quadros embutidos 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 poderá ser encerrado com um __fastfail(71) após a impressão do relatório de erros. Para obter mais informações, consulte windows_fast_fail_on_error. |
windows_hook_legacy_allocators |
true |
Se true, habilita o enganchamento de funções (Global/Local)().Alloc/Free/Size/ReAlloc/Lock/Unlock |
Consulte também
Visão geral do AddressSanitizer
Problemas conhecidos do AddressSanitizer
Referência de build e linguagem do AddressSanitizer
Bytes de sombra do AddressSanitizer
Nuvem do AddressSanitizer ou teste distribuído
Integração do depurador addressSanitizer
Exemplos de erro addressSanitizer