knihovna rozšířených funkcí AddressSanitizer (VCAsan) Visual Studio
VCAsan*.libKnihovny implementují funkce rozšířeného ladicího programu integrovaného vývojového prostředí v Visual Studio. Tyto funkce umožňují integrovanému vývojovém prostředí (IDE) zobrazovat chyby AddressSanitizer v relacích ladění za provozu nebo offline uložením souboru s výpisem stavu systému s metadaty. knihovna je propojena kdykoli s AddressSanitizer kompilátorem, který je povolen kompilátorem MSVC.
Inventář knihovny VCAsan
| Možnost modulu runtime | Knihovna odkazů VCAsan |
|---|---|
/MT |
libvcasan.lib |
/MD |
vcasan.lib |
/MTd |
libvcasand.lib |
/MDd |
vcasand.lib |
Funkce knihovny VCAsan
bohatá AddressSanitizer okno sestavy o chybách v Visual Studio IDE
Knihovna VCAsan zaregistruje zpětné volání v rámci modulu runtime AddressSanitizer pomocí funkce rozhraní __asan_set_error_report_callback . Pokud je vygenerována sestava AddressSanitizer, toto zpětné volání slouží k vyvolání výjimky, která je zachycena Visual Studio. Visual Studio používá data výjimky k vygenerování zprávy, která se zobrazí uživateli v integrovaném vývojovém prostředí (IDE).
Poznámka
Knihovna VCAsan zaregistruje funkci zpětného volání v modulu runtime AddressSanitizer. Pokud váš kód podruhé volá tuto funkci registrace, přepíše registraci zpětného volání knihovny VCAsan. výsledkem je ztráta všech Visual Studio integrace IDE. Vrátíte se zpátky k výchozímu uživatelskému rozhraní IDE. Je také možné zavolat uživateli, který zaregistruje své zpětné volání ke ztrátě. Pokud narazíte na problém, zaznamenejte chybu.
Ukládat chyby AddressSanitizer do nového typu souboru s výpisem stavu systému
Když propojíte knihovnu VCAsan se svým spustitelným souborem, uživatelé ji můžou povolit, aby vygenerovaly výpis stavu systému za běhu. Pak modul runtime AddressSanitizer vytvoří soubor s výpisem paměti, když dojde k diagnostikováné chybě. Chcete-li povolit tuto funkci, nastaví uživatel ASAN_SAVE_DUMPS proměnnou prostředí pomocí příkazu, jako je například tento:
set ASAN_SAVE_DUMPS=MyFileName.dmp
soubor musí mít příponu. dmp, aby bylo možné postupovat podle Visual Studio konvence IDE.
K tomu dochází, když je zadaný soubor s výpisem paměti ASAN_SAVE_DUMPS : Pokud je chyba zachycena modulem runtime AddressSanitizer, uloží soubor s výpisem stavu systému, který má Metadata přidružená k této chybě. ladicí program v Visual Studio verze 16,9 a novější může analyzovat metadata uložená v souboru s výpisem paměti. Můžete nastavit ASAN_SAVE_DUMPS pro jednotlivé testy, ukládat tyto binární artefakty a pak je zobrazit v integrovaném vývojovém prostředí pomocí správného indexování zdrojů.
Viz také
AddressSanitizer – přehled
AddressSanitizer známé problémy
Reference k sestavení a jazyku AddressSanitizer
Referenční informace o modulu runtime AddressSanitizer
AddressSanitizer stínové bajty
AddressSanitizer Cloud nebo distribuované testování
Příklady chyb AddressSanitizer