求助:请教windbg自动抓Dump的问题
你好,
我遇到一个IIS的问题是,无论浏览任何一个网页,即使是.htm页也会造成其所在的应用程序池自动停止,w3wp进程刚启动就自动停止了,我想用gflag来设置w3wp.exe进程崩溃的时候自动抓取个Dump,可总是不行,具体情况如下:
我是参考的以下链接的方法2
http://support.microsoft.com/kb/871170/zh-cn
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\w3wp.exe下建立Debugger键,值如下
"c:\\debuggers\\cdb.exe -p %ld -e %ld -g -c \".dump /ma /u C:\\WINDOWS\\user.dmp;q\""
当我启动应用程序池,浏览网页后用Filemon监测,cdb确实是开始执行了,但并没有抓到Dump,w3wp也崩溃了,后来我用自己写的一个ConsoleApplication测试了下,cdb能自动起来,但提示%ld不是进程ID,所以我怀疑%ld这个参数是不是没有被替换为w3wp的进程ID呀,很是奇怪。而且cdb的-c参数后面需要用引号括住,当然这对引号应该用\"转义形式,我也转了,可还是会提示出错。我甚至把上面的命令写到一个bat里,然后把Debugger键的值设置成那个bat的路径,还是不能自动抓上dump。
已经折腾两个下午了,帮忙给看下为什么。
1、怎样才能让cdb自动抓上dump
2、%ld为什么表示进程ID,哪里有详细说明,比如说其它的参数说明
3、自动启动的cdb的权限是否是这个应用程序池的运行标识,就是Network Service这个账户
http://www.microsoft.com/downloads/details.aspx?familyid=9BFA49BC-376B-4A54-95AA-73C9156706E7&displaylang=en
try IIS Diagnostics Toolkit ,it's easy