IIS6.0中ASP.NET锁死下生成转储文件

本文介绍了在IIS6.0中遇到ASP.NET应用锁死时如何生成转储文件进行诊断。通过设置孤立工作进程功能,利用批处理文件在进程被孤立时触发调试器生成转储文件,以便分析问题原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    概要
  
  当您在 Internet 信息服务 (IIS) 6.0 中遇到被锁死的情况时,应用程序事件日志中会出现类似下面这样的错误信息:
  Event Type: Warning
  Event Source: W3SVC-WP
  Event Category: None
  Event ID: 2262
  Date: 7/29/2003
  Time: 12:08:58 PM
  User: N/A
  Computer: ComputerName
  Description:ISAPI 'C:/WINNT/Microsoft.NET/Framework/v1.1.4322/aspnet_isapi.dll' reported itself as unhealthy for the following reason:'Deadlock detected'.
  
  在系统事件日志中会出现类似下面这样的错误信息:
  Event Type: Warning
  Event Source: W3SVC
  Event Category: None
  Event ID: 1013
  Date: 7/29/2003
  Time: 12:09:34 PM
  User: N/A
  Computer: ComputerName
  Description:A process serving application pool 'DefaultAppPool' exceeded time limits during shut down.The process id was '2756'.
  
  为诊断程序生成转储文件
  
  IIS 6.0 有一项叫做“孤立工作进程”的新功能。此功能使您能在预定要回收的进程终止之前对其进行检查。孤立工作进程可用来在进程中附加一个调试程序并生成一个供调查使用的转储文件。
  
  注意:当进程运行在 IIS 5.0 兼容模式中时,此功能不可用。
  
  创建一个批处理文件,在一个工作进程被孤立时执行
  
  1.启动记事本。
  2.将下面的代码粘贴到记事本中:
  
  @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:/crash_%TIMESTAMP%.dmp
  set LOG=c:/log.txt
  set COMMAND=c:/debuggers/cdb.exe -c ".dump /o /mhf %FILENAME%;q" -p %1
  
  echo %COMMAND% > %LOG%
  %COMMAND%
  endlocal
  
  
  3.将文件保存为文件名.cmd。在这个例子中,我们把文件命名为 action.cmd。您也可以随意给文件起别的名字。
  
  注意:您可能必须修改调试程序的位置和您想要生成转储文件的位置。
  
  配置孤立工作进程设置
  
  1.在命令提示符处键入以下命令,然后按 ENTER 键:
  cd /Inetpub/adminscripts
  
  2.要使孤立工作进程的功能可用,需要在命令提示符下键入以下命令: adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
  
  3.在命令提示符下,设置当进程预定要回收时运行的可执行文件。例如,在这种情况下使用在“创建一个批处理文件,在一个工作进程被孤立时执行”一节创建的批处理文件: adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:/action.cmd"
  
  adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%%1%%"
  
  注意:请确保 OrphanActionExe 选项指向在“创建一个批处理文件,在一个工作进程被孤立时执行”一节创建的批处理文件的位置。还要保证 W3wp.exe 进程对该文件有读取和执行权限。 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值