Technická případová studie
Případová studie: infrastruktura pro testování chybových cest s Application Verifier
Technická případová studie: pomocí Application Verifier jsme nejprve vybudovali infrastrukturu pro testování chybových cest a navázali na ni prevenci opakování chyb.
Přehled případu
Tato případová studie popisuje, jak jsme to nenechali skončit jednorázovou opravou chyby, ale pomocí nástroje Application Verifier jsme vybudovali samotnou infrastrukturu pro testování chybových cest. Cílem nebylo jen „najít současnou poruchu“, ale také nejprve vytvořit stav, ve kterém půjde příčinu při příštím selhání snadno dohledat.
Příznaky
- Samotné testy běžného provozu jen těžko odhalí problémy v chybových cestách (failure path)
- Nedostatek zdrojů a chyby při práci s handly bývají dobře vidět jen za podmínek blízkých produkčnímu provozu
- Postupy vyšetřování se při každém případu snadno stávají závislými na konkrétních lidech
Omezení
- Skutečně vyčerpat prostředky na reálném zařízení je nákladné i rizikové
- Způsoby, jakými se porouchá nativní hranice a práce s rozhraním Win32, jsme chtěli odhalit dříve
- Infrastrukturu bylo třeba připravit tak, aby šla využít i při dalším vyšetřování poruchy
Co jsme pozorovali
- Nastavení nástroje Verifier, například
Handles,HeapsaLow Resource Simulation - Stopy chybových cest včetně
!htracea page heap - Vztah mezi vlastním logem životního cyklu a informacemi o zastavení Verifieru (Verifier stop)
Jak jsme příčinu izolovali
Nejprve jsme oddělili to, co lze dohledat jen z běžných logů, od toho, co je vidět až po nasazení nástroje Verifier. Pak jsme Verifier nasadili na spouštěcí cestu zapouzdřenou do testovací sestavy (harness) a zvolili jsme postup, který těžko reprodukovatelné chyby odhalí dříve.
Jak jsme situaci zlepšili
- Vybudovali jsme testovací infrastrukturu, která záměrně vede program do chybových cest
- Chyby handlů a haldy lze nyní pozorovat v kratší smyčce
- Místa pozorování jsme uspořádali tak, aby se výsledky snadno vracely do následné revize návrhu a opatření proti opakování
Služby, na které se případ vztahuje
Tato případová studie přímo souvisí s vyšetřováním chyb a analýzou příčin, které posouvá reprodukci poruchy a určení příčiny. Souvisí také s technickými konzultacemi a revizí návrhu, při nichž se ujasňuje, jak hluboko mají být testy chybových stavů a místa pozorování zahrnuty do návrhu.
Poraďte se s námi
Pokud tato stránka odpovídá situaci, kterou řešíte, poraďte se s námi a připojte současný kontext i to, jakou podporu potřebujete.