2013年9月25日 星期三

Pop Quiz of Dump Sharing (3) – Dump introduction

 

上課Vedio (待補)

1) Physical memory 大小是8G的Page file size要設多大才能做出完整的complete memory dump?

8G+1MB

2) kernel dump 包含的內容是那些?

只有正在read/write 的kernel memory page

3) Microsoft 如果程式出問題了會回傳的dump 是那一種? 內容大概是什麼? 大小是多少?

small memory dump, 只有程式的一些information summary, x86: 64 KB, x64:128KB

4) user dump 中, mini 和full 最大的差別

Handle table的有無

5) 如何enable complemte full memory dump

1. 設CrashControl registry 把CrashDumpEnabled 設成1

2. 調大page file size 成physical memory+1MB

6) 如何拿到user dump

Vista 之前 用process explorer, Vista之後直接用Taskmgr

7)試舉出 一種 crash 機器的tool

NotMyFault

8)windbg 做kernel mode dump的指令

.crash .dump

9)windbg 做user mode mini-full dump 的指令

.dump /mfh <filepath>

10)試舉出可能產生不出dump 的原因

1. 在session manager 起來之前的native application 有問題

2. dump driver 有問題

11)打lm確定module的symbol 有load 進來, 狀態有那幾種, 各代表什麼意思

pdb: symbol load 成功

deffered: 找到但還沒有用到, 用到才load

export: 從module 的export table 找到的symbol

12) 基本判斷symbol 有load 對的方式是在xp 和win7中各看到什麼start function name?

xp: kernel32!BaseProcessStart,  win7: ntdll!_RtlUserThreadStart

13) Load symbol 如果太慢可以用什麼指令來開load symbol 的Debug message

.sym noisy

14) 什麼指令可以強迫load symbol 不檢查checksum

.symopt+0x40

15) 拿到dump 要check的三件事

windbg 版本有支援, Dump 的完整性, symbol 的版本

沒有留言: