2014-03-26 98 views
0

我一直在尋找一段時間,發現許多舊文章,但也發現一個與註冊表,以啓用轉儲的.dmp文件,這是不是這樣做。我用Windows 2008 R2沒有崩潰轉儲

指令從微軟,需要Collecting User-Mode Dumps (MSDN)

According to Symantec沒有重新啓動。

我爲兩者創建了它: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumpsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

我得到的只是一個report.wer文件。沒有轉儲。事件日誌每分鐘都會寫出例外情況,應用程序池每過大約30分鐘就會死亡,所以我試圖詳細說明問題來自何處。

任何人都知道爲什麼這些鍵不工作? report.wer是否對我有用?一個StackOverflow發佈說SOS擴展,當我搜索它時,微軟指我下載我已經安裝的WinDbg。我從2008年以來發現的很多說明都顯得過時。

編輯:我設法通過在服務器上運行調試工具來獲取轉儲文件。但是如何獲得實際的代碼信息卻沒有任何可行的信息存在太多的錯誤信息。

我試着添加符號路徑到我的PDB文件,我已經試過

  • .loadby sos clr
  • .loadby sos
  • !CLRStack
  • !analyze -v

和我得到的是錯誤的符號。

回答

0

如果沒有崩潰,WER將不會捕獲崩潰轉儲。你知道一個進程可以正常退出,當你認爲它崩潰時。

如果你想了解爲什麼一個進程退出(正常或異常),我能想到的最可靠的方法是使用調試診斷(這是專門爲IIS內置),

http://msdn.microsoft.com/en-us/library/ff420662.aspx

請注意,此時您可能應該使用Debug Diag 2.0,並且必須添加Kernel32!ExitProcessKernel32!TerminateProcess作爲斷點。

+0

這是我用來獲取轉儲的工具。但是,當我運行分析時,我得到的是DLL列表和錯誤消息:KERNELBASE上的彙編指令!Microsoft Corporation的C:\ Windows \ SysWOW64 \ KERNELBASE.dll中的RaiseException + 58在線程50上導致了CLR異常與以下錯誤信息:類型:NOT_FOUND消息:NOT_FOUND。 – GregInWI2

+0

我的意思是Windows函數調用,而不是DLL。我敢肯定,這是我的代碼中的東西,我記得在2年半以前必須做到這一點,並且我能夠看到導致問題的代碼行。到目前爲止,我還沒有能力,我只是從它得到無用的信息,這沒有幫助。 – GregInWI2

+0

對於託管轉儲符號不那麼重要。 '.loadby sos clr'用於.NET 4轉儲,那麼您是否使用.NET 4?加載sos之後,你需要做的就是運行'!pe'。不要閱讀太多隻會讓你更加困惑的文章。 –