Need
to be able to download injdll.dll somehow…
you don’t need the service to track for leaks, all you need is
debugdiag.exe. leaktrack.dll, dbghost.exe, dbgeng.dll to get the job done
Below
are the steps to do what DebugDiag does without actually installing
DebugDiag. We are taking the LeadTrack.dll used by DebugDiag and manually
injecting it into the process to be monitored for leaks. This is the
basic process that is automated by DebugDiag. The memory dumps can then
be gathered by your tool of choice - adplus.vbs.
- Rename the attached file as a
.zip and extract to a directory such as C:\LeakTrack.
- Give everyone read permissions
to this directory.
- Start the process to be leak
tracked (i.e. dllhost.exe) and note the process id from Task Manager.
- Use the console session of the
machine if the machine is NT4 or Windows 2000. Do not use a terminal
services session. For Win2K3 or WinXP this is OK.
- Make sure you are using an
account that has the “Debug programs” user right.
- Start a command (cmd) window
and CD to the tool install directory. (cd c:\leaktrack)
- Type
the following command:
injdll.exe /p:[PID] /d:[Path]
For example: injdll.exe /p:3040 /d:c:\LeakTrack\LeakTrack.dll
- Let the tool run for one hour and
then gather a full hang dump. Any debug tool that can produce a full
dump is OK including DebugDiag, Dmatrix, ADPlus, WinDBG etc.
- The process will continue to
run after gathering the hang dump. Continue to monitor the memory
usage of the process and get another hang dump when it reaches 50-75% of
the point at which it normally stops working. For example, if the
application stops working when the dllhost.exe process reaches 1 GB of
memory, gather a memory dump between 500-750 MB.
- Zip up the files and upload them to the workspace.