【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。

简介: 原文:【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。
原文: 【终极解决方案】为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。

困扰我大半年的错误,今天偶然间被解决了,特此分享给被同样问题纠结的朋友们!

之前的求助帖,无人应答:

http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.html

http://bbs.csdn.net/topics/391988642

症状

日志中大量报错,IIS严重错误,此类错误默认情况下5分钟连续出现5次会导致IIS应用程序池直接挂掉,挂掉之后应用基本上是废掉了,访问量越高,挂的越快!

临时补救该错误的一个方法为,调整应用程序池“服务不可用”响应类型为TcpLevel,这样好歹应用程序池不会挂了,但问题依旧存在。

 

分析症状

0、搜一下,基本都是这个解决方案http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.html,屁用不中

1、按照直接思维,感觉应该是服务器配置上哪里出了问题,应为本机调试环境下,从来没碰到过这个问题,于是乎更换服务器,winserver08=>winserver2012 r2 无奈问题依旧

2、乖乖分析上述日志错误,在系统日志和w3p日志中均未见该异常的描述。上述事件异常中提示,异常代码为0xc00000fd ,解释为栈溢出,基本断定为是程序某个位置出了问题,很可能是死循环造成的,但是具体在哪个问题,无从查起

3、了解到还可以通过dmp文件直接跟踪iis崩溃的原因

找到dmp文件

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

1、启动 Windows Error Reporting Service 服务

 

2、执行下面注册表脚本,设置w3wp.exe 崩溃时自动抓取dmp文件,保存在D:\dumps文件夹里

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe]
"DumpFolder"=hex(2):64,00,3a,00,5c,00,64,00,75,00,6d,00,70,00,73,00,00,00
"DumpCount"=dword:00000002
"DumpType"=dword:00000002

 

3、查看dmp文件

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

调试dmp文件

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

1、双击DMP文件会直接进入VS,可以看到Summary信息

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

3、设置关联源代码路径(可忽略)

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

5、查看具体异常原因,定位异常代码位置

打开局部变量和堆栈调试,异常代码位置里面顿现!然后就是找到这个大bug kill它!事件记录终于清爽了!

感激宇宙第一IDE!

目录
相关文章
|
10月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
1011 116
|
10月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
343 11
|
10月前
|
监控
ps 进程中的字段信息
该表介绍了进程管理中的关键字段,包括进程ID、用户、CPU与内存使用情况、运行时间、状态及优先级等信息,用于监控和分析系统中各进程的资源占用与运行状态。
358 10
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
502 6
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
3942 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
508 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
539 32
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
703 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
边缘计算 安全 网络安全
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
385 11

热门文章

最新文章