Windows Services: Wie kann ich feststellen, welche Bibliothek oder welcher Treiber das Leck verursacht?

418
Dave

Ich erhalte ein Speicherverlust für ein USB-Gerät und versuche herauszufinden, welche Treiber von einem Windows-Dienst geladen werden, damit ich diesem Hersteller nach einer Lösung suchen kann.

Das Speicherverlust ist langsam (ca. 2-3 GB RAM pro Tag), daher bin ich nicht überrascht, dass viele Leute es nicht gemeldet haben. Für meine Leute ist dies jedoch ein Problem, da es nach etwa 2-3 Tagen einen BSOD-Absturz oder ein Einfrieren verursacht. Das Analysieren der Minidumps von den BSODs war nutzlos, da es nur einen generischen Speicherfehler gab, ohne auf einen Treiber zu verweisen.

Mit VMMAP und Process Explorer konnte ich das Leck von svchost.exe zum Windows-Dienst verfolgen:

WWAN Auto Config WwanSvc C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork 

Obwohl der Windows-Dienst WWAN Auto Config mit dem Gerätetyp übereinstimmt, verweist er nicht speziell auf den tatsächlichen Treiber. Ich kann den Dienst neu starten und den Speicher freigeben, vorausgesetzt, er hat einen bestimmten Schwellenwert nicht überschritten (bei dem der Dienst abläuft, bevor er den Speicher freigeben kann).

Gibt es eine einfache Möglichkeit, die von diesem Dienst geladenen DLLs und Treiber zu verfolgen oder anzuzeigen, so kann ich zeigen, dass es mit dem Gerät verbunden ist, um zu vermeiden, dass etwas Lahmes wie "Es passiert, wenn ich es einstecke." ??

0
Wie wäre es mit der Minidump und Analyse? http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-15-WinDbg-Bugchecks rene vor 11 Jahren 0
Danke, ich habe vergessen zu erwähnen, dass ich es auch ausprobiert habe. Die Analyse ist nicht nützlich, da sie nur die Speicheradresse angibt und auch auf den Dienst verweist, anstatt auf eine gute Spur. Normalerweise friert es auch einfach .. was schrecklich ist. Ich werde sicher den Hauptbeitrag für andere auf den neuesten Stand bringen. Dave vor 11 Jahren 0

0 Antworten auf die Frage