2012-04-19 403 views
3

crash-dump和hang-dump有什麼區別?崩潰轉儲和掛起轉儲之間的區別?

假設如果我編寫一個實用程序來創建一個進程轉儲點擊它,我將如何貼近實用程序來創建一個適當的轉儲?

+0

+1。我也試圖理解這一點。我很困惑他們爲什麼在WinDBG中是單獨的選項,但在任務管理器中有一個常見的選項來創建轉儲文件。 – w0051977 2012-07-19 20:35:12

回答

1

不確定你的意思,它們都是應用程序/內核狀態(內存)的不同細節級別的轉儲。應用程序是否已掛起或崩潰與轉儲的構成無關,請參閱此doc以及此處http://www.debuginfo.com/articles/easywindbg2.html#savedumps崩潰轉儲將具有崩潰本身的異常記錄。

MiniDumpWriteDump: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680360%28v=vs.85%29.aspx

不同類型的轉儲: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680519%28v=vs.85%29.aspx

0

轉儲只是進程的快照。

崩潰情況更容易監控。 應用程序引發了一些未處理的異常,並且監視過程拍攝了錯誤處理的快照。 如果你沒有設置任何監控,Windows操作系統最終會爲你生成一個迷你轉儲。

掛起情況(或100%CPU豬)是特定於應用程序的,因此難以監視。 如果應用程序無響應或CPU密集型,可能是因爲它忙於進行一些數字運算? 也許它適用於某些網絡數據? 也許應用程序的圖形用戶界面是響應,但兩個後臺工作線程死鎖?

通常,我會建議手動生成掛起轉儲。當最終用戶/ QA工程師確定有問題時。 可以完成掛起轉儲的自動執行,但決定何時生成它們是特定於應用程序的。