Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Środki dezynfekujące to grupa narzędzi do analizy dynamicznej, które wyszukują błędy w programach w czasie wykonywania za pomocą dodatkowego instrumentarium wstawionego przez kompilator. Obejmuje to wykrywanie problemów związanych z bezpieczeństwem pamięci . Android obsługuje i zdecydowanie zaleca stosowanie następujących środków dezynfekujących:
Środek dezynfekujący HWAddress (HWASan)
HWASan to główny środek dezynfekujący umożliwiający wykrywanie problemów związanych z bezpieczeństwem pamięci. Wymaga ARM64 i może wykryć:
Przepełnienie lub niedopełnienie bufora stosu i sterty
Użyj sterty po darmowym
Użycie stosu po zakresie
Wykorzystanie stosu po powrocie
Podwójnie darmowy lub dziki
Adres Sanitizer (ASan)
ASan jest narzędziem podobnym do HWASan. Działa na większej liczbie platform, ale nie jest obsługiwana na Androidzie.
Środek dezynfekujący KernelAddress
KASan jest odpowiednikiem jądra powyższych narzędzi przestrzeni użytkownika. Ma tę samą implementację kompilatora. KASAN i ASan/HWASan uzupełniają się, ponieważ jedno narzędzie ma zastosowanie do jądra, a drugie do przestrzeni użytkownika. Zalecamy jednoczesne włączenie obu, aby zmniejszyć liczbę konfiguracji kompilacji i zmniejszyć matrycę testową.
Nieokreślony środek dezynfekujący zachowanie (UBSan)
UBSan wykonuje oprzyrządowanie w czasie kompilacji, aby sprawdzić różne typy niezdefiniowanych zachowań (nie związanych z bezpieczeństwem pamięci). Obejmuje to sprawdzanie przepełnienia liczb całkowitych ze znakiem i bez znaku (IntSan), sprawdzanie granic tablic o rozmiarze statycznym (BoundsSan) i wiele innych typów niezdefiniowanych zachowań. IntSan i BoundsSan nadają się również do wykorzystania w środowisku produkcyjnym w celu ograniczenia bezpieczeństwa.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2024-02-07 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Brak potrzebnych mi informacji"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zbyt skomplikowane / zbyt wiele czynności do wykonania"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nieaktualne treści"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem z tłumaczeniem"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem z przykładami/kodem"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Inne"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Łatwo zrozumieć"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Rozwiązało to mój problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Inne"
}]
{"lastModified": "Ostatnia aktualizacja: 2024-02-07 UTC."}
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-02-07 UTC."]]