標籤:資訊 tor ide 宇宙 microsoft 訪問 http 配置 top
困擾我大半年的錯誤,今天偶然間被解決了,特此分享給被同樣問題糾結的朋友們!
之前的求助帖,無人應答:
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!
【終極解決方案】為應用程式集區“XXX”提供服務的進程在與 Windows Process Activation Service 通訊時出現嚴重錯誤。該進程 ID 為“XXXX”。資料欄位包含錯誤號碼。