Kanske din enhet inte fungerar som den ska , och du misstänker att det är på grund av drivrutinen snarare än själva enheten . Försök att felsöka drivrutinen innan du sliter ut håret . Denna eHow kan hjälpa . Instruktioner
1
Öppna drivrutinen för enheten och ange en " brytpunkt " i " DLLENTRY " eller " DllMain " inkörsport för föraren . För att göra detta , kan du behöva starta om enheten du riktar dig , och ladda om föraren att se till att brytpunkten exekveras .
2
Kör debugger för att se om föraren laster som det borde. Det bör nå brytpunkten du skapade i steg 1 . Om det fungerar , gå vidare till nästa steg . Om detta inte sker , gjorde föraren laddar inte som den ska . Gå till felsökning för föraren när det händer som du försöker att felsöka en drivrutin .
3
Ställ annan brytpunkt , men den här gången i " XXX_Init ( Enhetshanteraren ) " inkörsport för föraren . Gå igenom initieringen av drivrutinen som du försöker att felsöka drivrutinen . Kör debugger igen , försöker bekräfta att föraren är erkänd av enhetshanteraren , och fungerar ordentligt .
4
Lägg till fler brytpunkter som du försöker att felsöka en drivrutin . Lägg brytpunkter vid inkörsport för olika gränssnitt funktioner såsom " XXX_Close ( Enhetshanteraren ) " , XXX_IOControl ( Enhetshanteraren ) , XXX_Read ( Device Manager ) , och mer .
5
Försök genomföra ström gränssnitt med ersätter " XXX " med något som matchar konkreta genomförandet , såsom DEVFLAGS_NAKEDENTRIES.Test vad du har gjort genom att köra felsökaren igen . vad du har gjort genom att köra felsökaren igen
6
Test .
7
Kontrollera att " avbryta tjänsten tråden " fungerar genom att sätta brytpunkter i IST av föraren . Kör felsökaren igen för att se det föraren fungerar som du försöker att felsöka en drivrutin . Om detta fungerar korrekt , så har du lyckats debuggade enhetshanteraren .