4本次错误webservice发布新服务器后,出现此错误。
解决方法:
找到dmp文件
dmp文件是啥?自己百度。简单的说就是黑匣子,记录程序崩溃前的操作,那么如何找到这个黑匣子呢?
1、启动 Windows Error Reporting Service 服务
2、执行下面注册表脚本,设置w3wp.exe 崩溃时自动抓取dmp文件,批处理条件
rem 可根据实际情况修改磁盘路径DMPPATH=d:\dumps
SET DMPPATH=c:\dumpsSC CONFIG WerSvc START= AUTONET START WerSvcECHO 启用完成 REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /fREG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger /f REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /fREG 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" /fREG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /t REG_SZ /v DumpFolder /d %DMPPATH% /fREG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /t REG_DWORD /v DumpCount /d 2 /fREG 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日志写入文件没有权限。。。。。