Måske din enhed ikke fungerer korrekt, og du mistanke om det er på grund af enhedsdriveren snarere end selve enheden. Prøv at kigge på enhedens driver, før rive dit hår. Denne eHow kan hjælpe. Instruktioner
1
Åbn driveren til enheden og sat en " breakpoint " i " DLLENTRY " eller " DllMain " indgang for føreren. For at kunne gøre dette, kan du nødt til at genstarte den enhed, du er målrettet , og genindlæs føreren at sørge for breakpoint udføres.
2
Kør debugger for at se om føreren belastninger , som det burde . Det bør nå breakpoint , du oprettede i trin 1 . Hvis det fungerer , skal du gå videre til næste trin. Hvis dette ikke sker , har chaufføren ikke indlæses som det skal. Gå til fejlfinding for føreren, når det sker, som du forsøger at fejlsøge en enhedsdriver .
3
Sæt en anden breakpoint , men denne gang i " XXX_Init ( Device Manager )" indgang for føreren. Gå gennem initialiseringen af din driver , som du forsøger at fejlsøge enhedsdriveren . Kør debugger igen, forsøger at bekræfte, at føreren er anerkendt af enheden manager, og fungerer korrekt.
4
Tilføj flere breakpoints , som du forsøger at fejlsøge en enhedsdriver . Tilføj breakpoints ved indgangen af forskellige interface funktioner såsom " XXX_Close ( Device Manager )" , XXX_IOControl ( Device Manager ) , XXX_Read ( Device Manager ) , og meget mere .
5.
Prøv at gennemføre stream interface ved at erstatte " XXX" med noget, der matcher konkrete gennemførelse, f.eks DEVFLAGS_NAKEDENTRIES.Test hvad du har gjort ved at køre debugger igen.
6
Test hvad du har gjort ved at køre debugger igen.
7
Kontroller, at " interrupt service tråden" fungerer ved at sætte breakpoints i IST af driveren. Kør debugger igen for at se det føreren fungerer korrekt , som du forsøger at fejlsøge en enhedsdriver . Hvis dette kører ordentligt , så har du med succes fejlrettet enhedshåndtering .