프로세스 리스팅
!process 0 0
프로세스 어태치 시키기
.process /i [pid]
할당된 가상메모리 덤프
올리디버거의 Memory Map윈도의 기능
!vadump [-v]
해당메모리 주소가 어떤 속성인지 알려줌
!vprot [주소]
현재 프로세스내에 동작중인 스레드의 스택을 보여줌
!uniqstack [-b]
-b옵션을 주면 스택에 담긴 아규먼트까지 보여준다
현재 스레드에 할당된 권한(Privilege)를 보여줌
!token
각 스레드가 동작한 시간
!runaway
레지스트리 정보 확인
!dreg
예) 0:000> !dreg System\CurrentControlSet\Services\Tcpip!*
해당 주소를 UNICODE_STRING구조체 형식으로 살펴봄
!ustr [주소]
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING;
해당 주소를 ANSI_STRING혹은 OEM_STRING구조체로 살펴봄
!str [주소]
typedef struct _STRING {
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
} STRING;
typedef STRING ANSI_STRING;
typedef STRING OEM_STRING;
스레드 로컬 스토리지 슬롯을 살펴봄
!tls
모든 슬롯 출력
예) !tls -1
Specifies the thread environment block (TEB). If this is 0 or omitted, the current thread is used
예) !tls 0
현재 스레드의 TEB정보를 출력
!teb
현재 프로세스의 PEB정보를 출력
!peb
잘 알려진 몇몇 STL템플릿정보를 출력
!stl
로딩된 dll모듈의 베이스주소와 길이 모듈명을 출력한다
lm
해당모듈의 자세한 정보를 출력
!lmi [모듈]
예) !lmi 00400000
반복적인 디버거명령을 실행시키면서, 링크드리스트 정보를 출력함
!list
예) !list "-t ntdll!_LIST_ENTRY.Flink -e -x \"dd @$extret l4; dt ntdll!_RTL_CRITICAL_SECTION_DEBUG @$extret-0x8\" ntdll!RtlCriticalSectionList"
현재 Shared User-mode Page를 출력함
현재 타임존과 시스템루트, TickCount와 시간을 출력함
!kuser
로드된 모듈들의 리로케이션되기전의 주소를 출력한다
!imgreloc [주소]
최근 에러코드를 리턴한다
!gle
에러코드를 가지고 무슨 에러인지 설명을 보여준다
!error [에러코드번호]
글로벌 플래그를 설정 혹은 보여준다!gflag
로드된 모듈들에 대한 커스터마이징(?)된 출력을 해준다.
!for_each_module ["명령어"]
예) !for_each_module .echo @#ModuleIndex : @#Base @#End @#ModuleName @#ImageName @#LoadedImageName
로드된 모듈에서 MZ로 시작되는것을 찾는다
예) !for_each_module s-a @#Base @#End "MZ"
가상메모리에서 이미지헤더를 검색한다 (MZ검색)
.imgscan
표현식을 헥사, 8진수, 2진수, 시간형, Float형, Double 형으로 변환한 형태로 보여준다
.formats [표현식]
- Visual Studio 2005 Shortcut Keys (0)2007/08/17
- WinDbg 간단 사용법 (0)2007/08/16
- WinDbg 사용법 (0)2007/08/16
- 평점계산기 v1.0 (0)2007/06/30
- Stack을 이용한 계산기(Calculator) 프로그램 제작... (2)2007/06/28

수안이의 컴퓨터 연구실



Leave your greetings.