Jeff 님의 예제를 그대로 들고와서 손을 좀 봤습니다.
그렇게라도 시작하니 일단 감은 좀 잡겠더라구요.
메모리 4GB 를 장착한 시스템에서 덤프를 받았는데 덤프상에서 물리 메모리 2GB 위쪽의 데이터는 덤프파일에 포함되지 않는 것 같아서 이것을 검증해 보고 싶었습니다. 물리 메모리 2GB 위쪽 전체를 뒤지는 방법으로... -_-;;; 물론 노가다는 스크립트가 합니다. ^^
스크립트 testmem.txt 는 다음과 같습니다.
물리주소 80000000 부터 ffffffff 까지 4000 씩 더해 가면서 살펴보는 스크립트입니다.
$$ WinDbg script to get data above 2GB of physical memory in complete memory dump
r $t0 = 0
.for (r $t0 = 80000000; (@$t0 < ffffffff ); r $t0 = @$t0 + 4000)
{
dc /p @$t0
}
출력은 다음과 같습니다.
3: kd> $$><myscript\testmem.txt
Last set context:
Last set context:
80000000 ???????? ???????? ???????? ???????? ????????????????
Last set context:
80010000 ???????? ???????? ???????? ???????? ????????????????
...
8ffb0000 ???????? ???????? ???????? ???????? ????????????????
Last set context:
8ffc0000 ???????? ???????? ???????? ???????? ????????????????
Last set context:
...
fffe0000 ???????? ???????? ???????? ???????? ????????????????
Last set context:
ffff0000 ???????? ???????? ???????? ???????? ????????????????
Last set context:
살펴본 메모리들이 전혀 존재하지 않음을 간단하게 확인할 수 있었답니다.
http://www.driveronline.org/bbs/view.asp?tb=tipbbs&GotoPage=1&s_bulu=&s_key=&no=87