Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In der folgenden Tabelle sind die Optionen für addressSanitizer aufgeführt. Aktivieren Sie sie über die Umgebungsvariable ASAN_OPTIONS oder durch Überschreiben der __asan_default_options()hier beschriebenen Benutzerfunktion.
Hinweis
Diese Beschreibungen weisen bestimmte Verhaltensweisen von Microsoft Visual C++ (MSVC) auf, die von den Laufzeitoptionen von Clang abweichen können.
| Flag | Standardwert | Description |
|---|---|---|
abort_on_error |
false |
Wenn true, ruft abort() ASan anstelle nach dem _exit() Drucken des Fehlerberichts auf. |
alloc_dealloc_mismatch |
false |
Erkennt nicht übereinstimmende Speichervorgänge wie malloc/delete, new[]/freeusw. |
allocator_frees_and_returns_null_on_realloc_zero |
true |
Wenn dieser Standardwert auf ", ist identisch mit dem POSIX-Standard.If set to true, realloc(p, 0) is the same as free(p) by default (which is the same as the POSIX standard). Wenn dieser Wert festgelegt ist false, realloc(p, 0) wird ein Zeiger auf einen zugewiesenen Bereich zurückgegeben, der nicht verwendet werden kann. |
allocator_may_return_null |
false |
Wenn true, gibt der Allocator nullptr zurück, wenn nicht genügend Arbeitsspeicher vorhanden ist. Anstatt abstürzen zu können, gibt ASan eine Warnung über den Ausfall des Allocators aus, und die Ausführung wird fortgesetzt. |
allow_user_poisoning |
true |
Wenn true, können Sie Speicherbereiche manuell als vergiftet oder unbeliebt markieren, indem Sie die Manuelle AddressSanitizer-Vergiftungsschnittstelle verwenden. |
check_initialization_order |
false |
Wenn trueversucht wird, Probleme mit der Initialisierungsreihenfolge zu erfassen. |
continue_on_error |
0 | Ermöglicht es einer Anwendung, die Ausführung fortzusetzen, während Speichersicherheitsfehler gemeldet werden. 0 deaktiviert. 1-aktiviert; Fehler werden an stdout.2-aktiviert; Fehler werden an stderr.Weitere Informationen finden Sie unter continue_on_error. |
detect_container_overflow |
true |
Wenn true, berücksichtigen Sie die Containerüberlaufanmerkungen. Weitere Informationen finden Sie unter ContainerOverflow. |
detect_invalid_pointer_pairs |
false |
Wenn true, ASan Erkennt Vorgänge wie <, <=, >, >=, und - auf ungültigen Zeigerpaaren wie Zeigerpaaren, die zu verschiedenen Objekten gehören. |
detect_stack_use_after_return |
false |
Experimentell. Wenn true, aktiviert ASan die stack-use-after-return Überprüfung zur Laufzeit. Erfordert /fsanitize-address-use-after-return. Weitere Informationen finden Sie unter stack-use-after-return. |
exitcode |
1 | Setzt den Status des Programmausgangs mit diesem Wert außer Kraft, wenn ASan einen Fehler findet. |
external_symbolizer_path |
"" | Pfad zum äußeren Symbolgeber. Wenn leer, sucht ASan nach $PATH dem Symboler. |
fast_unwind_on_malloc |
true |
Wenn verfügbar, verwendet ASan den schnellen Frame-Zeiger-basierten Abspanner auf malloc/free. |
halt_on_error |
true |
Nicht unterstützt. Verwenden Sie stattdessen continue_on_error. |
handle_segv |
true |
Wenn true, verarbeitet SEGV ASan Fehler. |
handle_sigfpe |
true |
Wenn true, verarbeitet SIGFPE ASan Fehler. |
handle_sigill |
true |
Wenn true, verarbeitet SIGILL ASan Fehler. |
help |
false |
Wenn true, druckt ASan die Kennzeichnungsoptionen in der Konsole. |
iat_overwrite |
error |
error – meldet einen Fehler, wenn ein Überschreiben erkannt wird.protect - versucht, die verwendung der überschriebenen Definition zu vermeiden.ignore - versucht nicht, überschriebene Funktionen zu korrigieren. Weitere Informationen finden Sie unter iat_overwrite. |
include_if_exists |
"" | Liest Optionen aus der angegebenen Datei. ASan schlägt nicht fehl, wenn die Datei nicht vorhanden ist. |
intercept_strpbrk |
true |
Wenn true, verwendet benutzerdefinierte Wrapper, um strpbrk weitere Fehler zu finden. |
intercept_strspn |
true |
Wenn true, verwendet benutzerdefinierte Wrapper für strspn und strcspn um weitere Fehler zu finden. |
intercept_strstr |
true |
Wenn true, verwendet benutzerdefinierte Wrapper für strstr und strcasestr um weitere Fehler zu finden. |
malloc_context_size |
1 | Maximale Anzahl von Stapelframes, die für jede Zuordnung/Zuordnung beibehalten werden sollen. |
malloc_fill_byte |
0xbe |
Wert, der zum Ausfüllen des neu zugewiesenen Speichers verwendet wird. |
max_malloc_fill_size |
4096 | Der ASan-Allocator füllt eine Zuordnung mit malloc_fill_byte bis zu max_malloc_fill_size einem Aufruf von malloc. |
max_redzone |
2048 | Maximale Größe (in Byte) von Redzones um Heap-Objekte. |
new_delete_type_mismatch |
true |
Fehler melden, die zwischen der Größe und newder Größe übereinstimmendelete. Weitere Informationen finden Sie unter new-delete-type-mismatch. |
poison_heap |
true |
Wenn true, vergiften Sie den Heap-Speicher bei der Zuordnung und Deallocation.
false ist nützlich, um den Allokator oder Instrumentator zu vergleichen. |
poison_partial |
true |
Wenn true, Gift teilweise adressierbar 8-Byte ausgerichtete Wörter. Dieses Flag wirkt sich auf Heap- und globale Puffer aus, aber nicht auf Stapelpuffer. |
print_cmdline |
false |
Drucken Sie die Befehlszeile beim Absturz. Mit continue_on_error "set >= 1" wird das aktuelle Arbeitsverzeichnis gedruckt und ist UTF-16 sich bewusst. |
print_legend |
true |
Wenn true, drucken Sie die Legende der Schattenspeicherkarte, um den ASan-Bericht zu begleiten. |
print_stats |
false |
Wenn true, drucken Allocator-Statistiken nach dem Drucken des ASan-Berichts. |
print_summary |
true |
Wenn false, deaktiviert die Anzeige von Fehlerzusammenfassungen, die Fehlerberichte begleiten. |
quarantine_size_mb |
-1 | Größe (in Mb) der Quarantäne, die verwendet wird, um Fehler zu erkennen use-after-free . Ein niedrigerer Wert kann die Wahrscheinlichkeit falsch negativer Ergebnisse erhöhen. |
redzone |
16 | Minimale Größe (in Byte) von Redzones um Heap-Objekte. Anforderung: redzone >= 16 und muss eine Macht von zwei sein. |
replace_str |
true |
Wenn true, verwendet benutzerdefinierte Wrapper und Ersetzungen für libc Zeichenfolgenfunktionen, um weitere Fehler zu finden. |
report_globals |
1 | So reagieren Sie auf pufferüberlauf für Globalen: 0-don't detect buffer overflow on globals. 1 – Pufferüberlauf erkennen. 2 – Erkennen des Pufferüberlaufs und Drucken registrierter globaler Daten. |
sleep_before_dying |
0 | Die Anzahl der Sekunden, die zwischen dem Drucken eines Fehlerberichts und dem Beenden des Programms in den Ruhezustand geschlafen werden. |
stack_trace_format |
DEFAULT |
Formatzeichenfolge zum Rendern von Stapelframes.
DEFAULT
-
#%n %p %F %L. Liste der verfügbaren Platzhalter:%% - stellt ein '%' Zeichen dar.%n - Framenummer (Kopie von frame_no)%p - PC%m - Pfad zum Modul%o - Offset im Modul%f - Funktionsname%q - falls verfügbar, Offset in der Funktion%s - Pfad zur Quelldatei%l - Zeile in der Quelldatei%c - Spalte in der Quelldatei%F - Wenn die Funktion bekannt ist, druckt in <func name> ASan den Offset in dieser Funktion, wenn die Quelle unbekannt ist.%S - ASan druckt Datei-/Zeilen-/Spalteninformationen%L - Wenn Dateiinformationen verfügbar sind, druckt ASan den Dateinamen, die Zeile und die Spalte. Wenn Modulinformationen verfügbar sind, druckt ASan den Modulnamen, den Offset und die Architektur. Wenn keines verfügbar ist, druckt ASan (<unknown module>)%M - Wenn bekannt, druckt ASan Modulbasisname und Offset, oder PC |
strict_memcmp |
true |
Wenn true, wird davon ausgegangen, dass memcmp(p1, p2, n) vor dem Vergleichen und nVergleichen p1 immer Bytes gelesen p2 werden. |
strict_string_checks |
false |
Wenn true, überprüft, ob Zeichenfolgenargumente ordnungsgemäß null-beendet sind. |
strip_path_prefix |
"" | Entfernt dieses Präfix aus Dateipfaden in Fehlerberichten. |
symbolize |
true |
Verwenden trueSie llvm-symbolizer die Option , um virtuelle Adressen in Datei- oder Zeilenspeicherorte umzuwandeln. |
symbolize_inline_frames |
true |
Drucken sie inlineierte Frames in Stacktraces. |
verbosity |
0 | Ausführlichkeitsebene: 0 – Standardmäßige Ausführlichkeit. 1 - mehr Ausgabe. 2 - noch mehr Ausgabe. 3 - maximale Ausführlichkeit. |
windows_fast_fail_on_error |
false |
Wenn trueder Prozess nach dem Drucken des Fehlerberichts mit einem __fastfail(71) beendet werden kann. Weitere Informationen finden Sie unter windows_fast_fail_on_error. |
windows_hook_legacy_allocators |
true |
Wenn true, aktiviert die Hooking von (Global/Local)(Alloc/Free/Size/ReAlloc/Lock/Unlock) Funktionen. |
Siehe auch
AddressSanitizer -Übersicht
Beheben bekannter Probleme mit demSanitizer
AddressSanitizer Build- und Sprachreferenz
AddressSanitizer-Schattenbytes
AddressSanitizer-Cloud oder verteilte Tests
AddressSanitizer Debugger-Integration
Beispiele für AddressSanitizer-Fehler