我怎样才能看到哪个请求导致IIS7重置,由于stackoverflow?

我的IIS7 Web服务器每秒获得数百个请求,并在已知的时间导致IIS7回收应用程序池。 我怎样才能看到哪个请求包含stackoverflow,理想情况下,当IIS决定杀死应用程序池时,请求中的堆栈跟踪是什么?

你怎么知道这是一个堆栈溢出? 不pipe报道如何,似乎都报告说这个过程崩溃了。

下一次设置 – 运行DebugDiag 1.2或崩溃模式debugging程序,并在崩溃时设置内存转储。

所以简而言之:

  1. 计算当前实例的应用程序池的PID(您可能需要closures回收,以便不会保持更改;或者使用DebugDiag,它可以通过PID定位应用程序池)
  2. ADPLUS / PROCDUMP -P PID -CRASH(或者运行DebugDiag,并为该应用程序池使用崩溃规则)
  3. 获取转储文件,并将其提供给DebugDiag
  4. 寻找特别长的线程堆栈