How can I take a memory dump Orphaned worker process with Procdump but not with ADPlus as mentioned in KB828222
Say, I cannot install anything on the server at the moment but wanted to take dumps with procdump for orphaned w3wp process. In such case, we can use procdump from sysinternals which is stand alone executable and can take a dump for us.
We can customize our batch file which has been mentioned in KB828222 and use the same batch file for taking the dump. I have customized my batch file like below:
@if "%_echo%"=="" echo off setlocal set TIMESTAMP=%DATE:~-9%_%TIME% set TIMESTAMP=%TIMESTAMP:/=_% set TIMESTAMP=%TIMESTAMP::=_% set TIMESTAMP=%TIMESTAMP:.=_% set TIMESTAMP=%TIMESTAMP: =_% set FILENAME=c:\debuggers\deadlocked_PID_%1_%TIMESTAMP%.dmp set LOG=c:\debuggers\procdumplog.txt set COMMAND=c:\debuggers\procdump.exe -ma %1 %FILENAME% echo %COMMAND% > %LOG% %COMMAND% endlocal
For IIS6, store this batch file to the path you wish and use the same path to configure adsutil.vbs like mentioned in KB828222.
For IIS 7+, IIS manager can be used to configure application pool. IIS Manager >> Application Pools >> Advanced Setting (on particular application pool ) >> Process Orphaning >> Executable --> Batch file which we created & Executable Parameters --> %1
How to generate a dump file when ASP.NET deadlocks in IIS 6.0