Sunday, 2 June 2013

Windows Services: How to determine which library or driver is causing the leak?

Windows Services: How to determine which library or driver is causing the leak?

I am getting a memory leak for a USB device and am trying to find out what drivers are being loaded by a windows service so I can go after that manufacturer for a fix.
The memory leak is slow (aprox 2-3 GB ram per day) so I am not surprised many people have not reported it, but for my folks this is a problem since it causes a BSOD crash or freeze after about 2-3 days. Analyzing the Minidump's from the BSOD's were useless since it just gave a generic out of memory error without pointing to a driver.
Using VMMAP and Process Explorer I was able to trace the leak from svchost.exe to the windows service:
WWAN  Auto Config
WwanSvc
C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork
Although the windows service WWAN Auto Config lines up with the type of the device, it doesn't point to the actual driver specifically. I can restart the service and have it free up the memory provided it hasn't gone over a certain threshold (where the service times out before it can release the memory).
Is there and easy a way I can trace or view the DLL's and drivers loaded by this service so I can show that it is linked to the device to avoid saying something lame like, "It happens when I plug it in." ??

No comments:

Post a Comment