Szisztematikus alacsony erőforrás-szimuláció

A rendszerszintű alacsony erőforrás-szimulációs lehetőség erőforráshibákat injektál kernel módú illesztőprogramokban. Ez a beállítás behatol az illesztőprogram hibakezelési útvonalaiba. Ezeknek az útvonalaknak a tesztelése történelmileg nagyon nehéz volt. A szisztematikus alacsony erőforrás-szimulációs lehetőség kiszámítható módon injektálja az erőforráshibákat, ami reprodukálhatóvá teszi a talált problémákat. Mivel a hibavonalak könnyen reprodukálhatók, a hibák kijavításának ellenőrzése is egyszerűvé válik.

A hiba kiváltó okának meghatározásához rendelkezésre áll egy hibakereső bővítmény, amely pontosan meg tudja állapítani, hogy mely hibákat adták be, és milyen sorrendben.

Figyelmeztet Ez a beállítás nem használható, ha a számítógép összes (vagy nagy méretű) illesztőprogramját ellenőrzi. Ez a beállítás csak akkor használható, ha az egyes illesztőprogramok vagy a csatolt szűrőillesztők célzott tesztelését végzi. Ha egyszerre sok illesztőprogramon használja ezt a beállítást, az kiszámíthatatlan eredményeket okozhat, és a tesztelt illesztőprogram(ok)hoz nem kapcsolódó összetevők összeomlását okozhatja.

Jegyzet Windows 8.1 esetén a WDK 8-ban elérhető Veremalapú hibainjektálási funkció integrálva lett a Driver Verifierbe. Windows 8.1 rendszerű számítógépeken használja a Szisztematikus alacsony erőforrás-szimuláció lehetőséget.

Ha egy meghatározott illesztőprogramon engedélyezve van az alacsony erőforrás-szimuláció rendszerszintű lehetősége, akkor az elfog bizonyos hívásokat az illesztőprogramból a kernel felé, és Ndis.sys. A rendszerszintű alacsony erőforrás-szimuláció a hívásvermet vizsgálja – pontosabban a hívásverem azon részét, amely az illesztőprogramból származik, amelyen engedélyezve van. Ha ez az első alkalom, hogy valaha is látta ezt a vermet, a hívás szemantikája szerint meghiúsul a hívás. Ellenkező esetben, ha már látta ezt a hívást, akkor érintetlenül továbbítja azt. A rendszerszintű alacsony erőforrás-szimuláció logikát tartalmaz annak a ténynek a kezelésére, hogy az illesztőprogramok többször is betölthetők és kiüríthetők. Felismeri, hogy a hívásverem azonos, még akkor is, ha az illesztőprogramot egy másik memóriahelyre töltik be.

A beállítás aktiválása

A rendszerszintű alacsony erőforrás-szimulációs funkciót egy vagy több illesztőprogramhoz aktiválhatja a Driver Verifier Manager vagy a Verifier.exe parancssor használatával. További részletekért lásd: Illesztőprogram-ellenőrző beállításainak kiválasztása. A rendszerszintű alacsony erőforrás-szimulációs beállítás aktiválásához vagy inaktiválásához újra kell indítania a számítógépet.

  • A parancssorban

    Windows 11

    A parancssorban a rendszerszintű alacsony erőforrás-szimulációt a hitelesítő /rc 19 36 vagy a hitelesítő /dif 19 képviseli, mindkettő tartalmazza a szükséges DIF módot.

    A szolgáltatás a következő rendszerindítás után aktív lesz, vagy azonnal, ha a /now elem hozzáadva van a parancssztringhez.

    Windows 10 és újabb

    A parancssorban az alacsony erőforrás-használat szisztematikus szimulációját a verifier /flags 0x040000 (18. bit) képviseli. A rendszerszintű alacsony erőforrás-szimulációhoz használjon egy 0x040000 jelzőértéket, vagy adjon hozzá 0x040000 a jelzőértékhez. Például:

    verifier /flags 0x040000 /driver MyDriver.sys
    

    A funkció a következő rendszerindítás után aktív lesz.

    Általános

    Ha engedélyezi a Szisztematikus alacsony erőforrások szimulációja lehetőséget, a /faultssystematicOPTION parancssori kapcsolóval tovább szabályozhatja a szisztematikus alacsony erőforrások szimulációt.

    Opció Leírás

    indítási idő engedélyezése

    Engedélyezi a hibainjektálásokat a számítógép újraindításai között.

    rendszerindítás idejének letiltása

    Letiltja a számítógép-újraindítások hibainjektálását (ez az alapértelmezett beállítás).

    recordboottime

    Lehetővé teszi a "mi történik, ha" módban történő hibainjektálásokat, amelyek fennmaradnak a számítógép újraindítása után.

    resetboottime

    Letiltja a hiba-injektálást a számítógép újraindítások során, és törli a verem kizárási listáját.

    enableruntime

    Dinamikusan engedélyezi a hibainjektálást.

    disableruntime

    Dinamikusan letiltja a hibainjektálást.

    futásidő rögzítése

    Dinamikusan engedélyezi a hibainjektálást szimulációs módban.

    futtatási idő visszaállítása

    Dinamikusan letiltja a hibainjektálásokat, és törli a korábban injektált hibás veremlistát.

    lekérdezésstatisztika

    Az aktuális hibainjektálási statisztikákat jeleníti meg.

    inkrementációs számláló

    Növeli a hiba beadásakor használt teszt passz számlálót.

    getstackid COUNTER

    Lekéri a megadott injektált veremazonosítót.

    excludestack STACKID

    Kizárja a vermet a hibainjektálásból.

  • Driver Verifier Manager használata

    1. Indítsa el a Meghajtó Ellenőrző Kezelőt. Írja be Verifier parancssori ablakba.
    2. Válassza Egyéni beállítások létrehozása (kódfejlesztőknek) lehetőséget, majd kattintson a Továbbgombra.
    3. Válassza Egyéni beállítások kiválasztása a teljes listából.
    4. Válassza ki (ellenőrizze) a rendszerszintű alacsony erőforrás-szimulációt.
    5. Indítsa újra a számítógépet.

A rendszerszintű alacsony erőforrás-szimuláció által okozott hibakeresési ellenőrzések debugolása

A szisztematikus alacsony erőforrás-szimulációval kapcsolatos problémák többsége hibaellenőrzéseket eredményez. A kódhibák okának meghatározásához a Windows hibakeresési eszközei biztosítják a hibakereső bővítményt (kdexts.dll) és a szükséges szimbólumokat.

Hibakereső bővítmény futtatása

  • A hibakereső parancssorából írja be a következő parancsot:

    !verifier 0x800
    

Ez adatokat küld a hibakeresőnek, és megjeleníti a legutóbbi beszúrt hibák hívásveremeit.