4本次错误webservice发布新服务器后,出现此错误。

解决方法:

 

找到dmp文件

dmp文件是啥?自己百度。简单的说就是黑匣子,记录程序崩溃前的操作,那么如何找到这个黑匣子呢?

1、启动 windows error reporting service 服务

 

2、执行下面注册表脚本,设置w3wp.exe 崩溃时自动抓取dmp文件,批处理条件

rem 可根据实际情况修改磁盘路径dmppath=d:\dumps
set dmppath=c:\dumps
sc config wersvc start= auto
net start wersvc
echo 启用完成
 
reg delete hkey_local_machine\software\microsoft\windows nt\currentversion\aedebug\debugger /f
reg delete hkey_local_machine\software\microsoft\.netframework\dbgmanageddebugger /f
 
reg delete hkey_local_machine\software\wow6432node\microsoft\windows nt\currentversion\aedebug\debugger /f
reg delete hkey_local_machine\software\wow6432node\microsoft\.netframework\dbgmanageddebugger /f
 
echo 删除完成
 
reg add “hkey_local_machine\software\microsoft\windows\windows error reporting\localdumps\w3wp.exe”  /f
reg add “hkey_local_machine\software\microsoft\windows\windows error reporting\localdumps\w3wp.exe”  /t reg_sz  /v dumpfolder /d   %dmppath% /f
reg add “hkey_local_machine\software\microsoft\windows\windows error reporting\localdumps\w3wp.exe”  /t reg_dword   /v dumpcount /d  2 /f
reg add “hkey_local_machine\software\microsoft\windows\windows error reporting\localdumps\w3wp.exe”  /t reg_dword   /v dumptype /d  2 /f
 
echo 启用完成
 
pause

 

3、查看dmp文件

iis崩溃后,在c:\dumps文件夹能看到dmp文件,可以用于分析dmp文件,找出iis崩溃的原因。

 

调试dmp文件

如何调试dmp文件,这就不得不请出宇宙第一ide,vs了,我用的vs2013来调试,可以直接打开dmp文件

1、双击dmp文件会直接进入vs,可以看到summary信息

2、可选步骤:设置符号路径

3、设置关联源代码路径,这步是必须的

4、一切就绪,点击“调试托管内存”

备注:vs2017上没有调试托管内存,可以用

5、查看异常原因,确认异常位置

 

原来是log日志写入文件没有权限。。。。。