日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

分析Vista系統(tǒng)和Win7系統(tǒng)的崩潰轉儲文件

默認情況下 , Windows配置為當系統(tǒng)發(fā)生崩潰時嘗試自動抓取一個當前操作系統(tǒng)的狀態(tài)信息 。接下來我們將討論系統(tǒng)故障 , 非應用程序失敗 。Dump選項可以通過控制面板中的系統(tǒng)工具來進行設置 。我們打開系統(tǒng)屬性—高級選項卡 , 找到啟動和故障恢復 , 點擊設置 , 我們就可以看到Dump文件的相關配置 。當系統(tǒng)發(fā)生崩潰時 , 有3類Dump文件可以被捕獲 。
完全內(nèi)存轉儲:當崩潰發(fā)生時 , 將捕獲整個物理內(nèi)存的狀態(tài) 。此類轉儲文件大小為內(nèi)存中頁面文件大小 1MB的文件頭 。Windows NT4只支持完全內(nèi)存轉儲 , 當然這也是Windows Server Systems的默認設置 。
核心內(nèi)存轉儲:當崩潰發(fā)生時 , 核心內(nèi)存轉儲只捕獲物理內(nèi)存中內(nèi)核態(tài)的頁面文件讀/寫數(shù)據(jù) 。這只是內(nèi)核態(tài)的轉儲 , 并不包括用戶態(tài)進程的頁面 。不過 , 由用戶態(tài)進程頁引起系統(tǒng)崩潰是不大可能的 , 通常都是由內(nèi)核態(tài)引起 。核心內(nèi)存轉儲中包括:當前運行進程、線程和被加載的驅(qū)動等相關信息 。核心內(nèi)存轉儲文件大小=操作系統(tǒng)內(nèi)核態(tài)內(nèi)存占用大小 操作系統(tǒng)為驅(qū)動程序分配內(nèi)存的大小 。
小內(nèi)存轉儲:小內(nèi)存轉儲(又叫Mini-dump)是一個64K的轉儲文件(64位系統(tǒng)和Windows7里是128K,Vista512K) , 它包括:終止代碼、參數(shù)和被加載的驅(qū)動列表 。主要信息為崩潰時的當前進程、線程和內(nèi)核堆 。
注意:有的情況下我們需要進行完全內(nèi)存轉儲 , 手動進行完全內(nèi)存轉儲為程序停止響應的排錯提供了最為豐富的信息 。因為當程序Hang住時 , 我們需要查看用戶態(tài)進程、死鎖等等信息 。不過 , 當你在選擇捕獲哪種Dump文件時 , 一定要考慮好捕獲出來的文件大小 。如上所述 , 完全內(nèi)存轉儲文件大小會是在物理內(nèi)存大小的基礎上 1MB 。(筆者8GB內(nèi)存 , 再加1MB ??植腊 ?
前面我們回顧了3種類型的Dump文件 , 實則在日常的工作中核心內(nèi)存轉儲是我們系統(tǒng)崩潰和Bug檢查時最常用到的 。請記住 , 核心內(nèi)存轉儲文件大小僅基于內(nèi)核態(tài)內(nèi)存占用和驅(qū)動內(nèi)存占用 。(在有更多內(nèi)存的系統(tǒng)上 , Dump文件過大是正常的 。)目前我們還無法精準的計算核心內(nèi)存轉儲文件大小 , 你可以嘗試手動配置核心內(nèi)存轉儲來查看頁面文件是否足夠大 。對于設置最小的核心內(nèi)存轉儲大小我們有一定的指導方針 , 但對于最大值目前還沒辦法:
如果你擔心頁面文件設置過小 , 無法很好的捕獲核心轉儲 , 我們唯一的辦法就是通過KB244139所描述的方式使用CrashOnCtrlScroll方法造成手動崩潰 。系統(tǒng)重啟之后 , 我們可以手工查看Dump文件大小 。另一種方法是在啟動分區(qū)上手動設置2GB 1MB的頁面文件大小(32位系統(tǒng)) , 這是因為32位操作系統(tǒng)內(nèi)核態(tài)最大地址空間就是2GB 。
除了配置正確的頁面文件大小之外 , 我們也需要確保有足夠的磁盤空間讓Dump文件能夠被正確的寫入 。與頁面文件用來捕獲Dump不同 , Dump文件可以被寫入其它的本地分區(qū) 。在保存多個Dump文件時 , 請取消選擇“覆蓋任何現(xiàn)有文件 。不過請記住 , 這會給剩余的磁盤空間造成很大的壓力 。
下面我們來看Dump文件是如何被產(chǎn)生的 。當系統(tǒng)啟動時 , 會到注冊表HKLMSystemCurrentControlSetControlCrashControl 讀取崩潰轉儲選項 。所有在圖形界面所做的操作都會修改如下注冊表值:
將事件寫入系統(tǒng)日志=LogEvent
自動重新啟動= AutoReboot
寫入調(diào)試信息= CrashDumpEnabled
【分析Vista系統(tǒng)和Win7系統(tǒng)的崩潰轉儲文件】轉儲文件= DumpFile
覆蓋任何現(xiàn)有文件= Overwrite
如果你的系統(tǒng)超過2GB內(nèi)存 , 在圖形界面中你將不會看到完全內(nèi)存轉儲選項 。其原因在KB274598中進行了描述 。但我們可以通過將HKLMSystemCurrentControlSetControlCrashControl下的CrashDumpEnabled值設置為1來強制啟用它(改這個值在圖形界面中完全內(nèi)存轉儲仍不會顯示出來) 。如果你需要完全內(nèi)存轉儲來做更詳盡的排錯 , 也可以考慮使用Boot.ini中的MAXMEM開關將32位操作系統(tǒng)所使用的內(nèi)存限制在2GB或更少(可以參考KB108393) , 此時系統(tǒng)就會將完全內(nèi)存轉儲選項顯示來 。

推薦閱讀