Upload
barbaros-nicu-nicu
View
37
Download
2
Embed Size (px)
DESCRIPTION
vm
Citation preview
Driver Verifier
Driver Verifier este un mecanism care monitorizează drivere kernel-mode pentru
Windows și drivere grafice pentru a detecta apeluri de funcții ilegale sau acțiuni care ar putea
corupe sistemul . Microsoft utilizează Driver Verifier pentru a verifica propriile drivere,
precum și toate driverele de la alți furnizori și sunt prezentate la Windows Hardware Quality
Labs (WHQL) pentru testare.
Procedand astfel, ei se asigură că toate driverele sunt compatibile cu Windows.
Deși Driver Verifier este folosit în primul rând ca utilitar pentru dezvoltatorii de drivere,
pentru a descoperii erorile din codul lor, este și un instrument puternic pentru folosit de către
administratorii de rețea pentru depanarea problemelor cu care se confruntă.
Driver Verifier este un sprijin pentru câteva din componentele sistemului. Acestea
sunt: managerul de memorie, managerul de intrare/ieșire, și pentru HAL(Hardware
Abstraction Laye)( sunt seturi de rutine în software-ul care simulează unele platforme cu
detalii specifice, oferind programe de acces direct la resursele Hardware).
Driver Verifier este inclus în fiecare versiune de Windows, începând cu Windows
2000 (în windir% directorul system32 \%). Nu este un pachet separat Driver Verifier ce
trebuie descărcat. Când Driver Verifier este rulat fără nici un argument in linia de comandă
acesta prezintă o interfață ajutătoare.
Pentru a activa și dezactiva Driver Verifier precum si a face unele setări putem să
utilizăm și interfața în linia de comandă.
Chiar și atunci când nu execuți nici o opțiune, Driver Verifier monitorizează driverele care au
fost setate pentru verificare, în căutarea unor operațiuni ilegale din sistem inclusiv cele din
kernel-memory.
Când utilizăm Driver Verifier trebuie să fim atenți la câteva informații:
Rularea Driver Verifier ar putea provoca computerului daune.
Driver Verifier ar trebui rulat numai pe computerele care sunt utilizate pentru testare și
depanare.
Trebuie să ai drepturi de Administrator pentru a utiliza aces driver de verificare.
Driver Verifier se utilizează pe tot parcursul dezvoltării driverelor si a proceselor de
testare. Acesta este utilizat pentru a găsi probleme la inceputul ciclului de dezvoltare
deoarece este mai puțin costisitor pentru a corecta. De asemenea, este utilizat atunci când se
implementează un driver folosind WDK, Visual Studio sau teste cu Windows Hardware
Certification Kit.
Utilizare.
Driver Verifier trebuie rulat numai pe calculatoarele de testare sau care sunt pentru
depanare. Pentru a obține rezultate foarte bune de la acesta, ar trebui utilizat un program de
depanare al kernel-ului.
1. Se deschide o fereastră în linia de comandă, rulată ca administrator și se scrie
Verifier pentru a deschide Driver Verifier Manager.
2. Selectați Create standard settings (implicit ) apoi click Urmatorul.
Se poate alege, de asemenea Create custom settings pentru a crea setări personalizate,
altele decât cele predefinite.
3. În următoare fereastră unde trebuie să selectăm un driver sau mai multe pentru a le
verifica avem mai multe opțiuni:
a. Automatically select unsigned drivers- această opțiune este utilă la testarea
calculatoarelor care rulează pe versiuni de Windows ce nu necesită drivere
semnate.
b. Automatically select drivers build for older versions of Windows – este utilizată
pentru testarea compatibilitățiilor driverelor pentru versiunile mai noi de
Windows
c. Automatically select all dricers instaled on this computer-oferă o acoperire
maximă în ceea ce privește numarul de drivere care sunt testate pe sistem. Această
opțiune este utilă pentru acțiuni de testare în cazul în care un driver poate
interacționa cu alte dispozitive sau cu driverele de sistem. Această opțiune poate
epuiza, de asemenea , resusrele din Special Pool și unele resurse de urmărire.
Testarea tuturor driverelor pot afecta in mod negativ performanța sistemului.
d. Select driver names from a list – Aici avem opțiunea de a preciza care drivere
vrem să le testăm. Selectarea tuturor driverelor într-o formă de stivă permite o
verificare I/O imbunătățită și permite un nivel mai mare de detalii care trebuie
furnizate pentru a găsi o eroare.
4. Faceți clic pe Finish și reporniți calculatorul.
Create custom settings conține caracteristicile opționale ale driverului de verificare.
Aceste opțiuni le găsim in sectiunea select individual settings from a full list.
Opțiuni incluse în aceste setări sunt:
1. Special Pool - atunci când caracteristica Specia Pool este activă, fiecare alocare
de memorie solicitată de către driver este plasată pe o pagină separată. În cazul în
care driverul incearcă să acceseze memoria după încheierea alocării, Driver
Verifier va detecta acest lucru imediat și va emite un Bug check 0xCD. Dacă
driverul scrie în memorie inainte de începererea bufferului, acesta va modifica
structura.
2. Pool tracking – această caracteristică monitorizează alocările de memorie făcute de
către driver. În momentul în care driverul este descărcat, Driver Verifier se asigură
că toate alocările au fost făcute de către driver au fost eliberate. Când această
opțiune este activă, driverul de verificare va emite un Buc Check 0xC4 în cazul în
care un driver descarcă fără a elibera toate alocările sale.
3. Force IRQL Checking - când această caracteristică este activă, Driver Verifier
oferă o presiune extremă cu privire la utilizarea memoriei de sistem. Această
presiune nu va afecta în mod direct driverele care nu sunt setate pentru verificare.
4. I/O verification – când această optiune este selectată, managerul I/O alocă IRPs
pentru verificat driverele din Special pool și utilizarea lor este urmărită. În plus,
avest verificator blochează sistemul atunci când un IRP este complet, care conține
o stare invalidă sau când un dispozitiv invalid trece de managerul de I/O.
5. DMA Checking (direct access memory) – este un mecanism susținut hardware
care permite dispozitivelor sa transfere date catre sau de la memoria fizică fără a
implica CPU. Acesta oferă o serie de funcții care driverele le folosesc pentru a
iniția și a controla operațiunile de DMA, și această opțiune permite controale
pentru utilizarea corectă a funcțiilor si a buffer-elor.
6. Force Pending I/O Requests - sunt utilizate pentru multe dispozitive asincrone
astfel încât driverele nu pot fi codificate să se ocupe în mod corespunzător
ocazional asincron. Când această opțiune este activată, managerul I/O va reveni
aleatoriu in STATUS_PENDING ca răspuns la apelurile driverelor.
Pentru a rula Driver Verifier din linia de comandă trebuie executate următoarele
comenzi:
Pentru a rula Driver Verifier cu setările standard pe un driver numit myDriver.sys, ar
trebui să utilizați următoarea comandă:
-verifier /standard /driver myDriver.sys
Pentru a opri sau a reseta Driver Verifier:
- verifier /reset
-
Pentru a vizualiza setările Driver Verifier
-verifier /querysettings
Pentru a vizualiza statistici Driver Verifier
-verifier /query