일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sudo
- driver
- port
- ssh command
- 우분투
- VPN
- Linux
- VIM
- VMware
- docker-compose
- 드라이버
- docker registry
- RUBY
- 리눅스
- opsworks
- Chef
- golang
- 루비
- ssh
- QT
- ubuntu
- docker
- DevOps
- Openswan
- 도커
- 패키지
- 방화벽체크
- AWS
- window size
- docker container
- Today
- Total
구리의 창고
Windbg 와 WMWare 환경설정하기 본문
Windbg 설치 및 설정
이곳에서는 vmware상에 설치가 되어있는 WindowsXP Operating System에 대한 디버깅을 가능하게 해주는
Windbg 설치 및 vmware 설정 방법을 설명한다.
Windgb 다운로드
Windbg는 마이크로소프트 홈페이지에서 다운로드를 할 수 있다. 아래의 링크로 이동해서 최신버전의 Windbg
를 다운받도록 하자.
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
추가적으로 해당 Symbol을 Link해주어야 하는데 Windbg상에서 Web을 통해서도 가능하나 다운로드해서 설정을
하도록 하겠다. 아래의 링크로 가면 Windows 버전(서비스팩 버전포함)에 따른 각각의 다운로드 링크를 제공하니
디버깅할 Target OS의 버전을 확인 후 다운로드해 설치하도록 하자. 설치할때는 기본적으로 C:\WINDOWS\Symbol
경로에 설치가 되며, 이후 Windbg 설치 후 위의 경로로 설정을 해주면 된다. 다른 경로로 설정을 해주어도 되지만
그렇게 할 경우 Windbg 심볼경로 설정을 위해서 해당 위치를 기억을 해두도록 하자.
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx
위 두가지를 모두 다운로드 했으면 각각을 설치하도록 하자.
vmware 설정
Windbg를 통해서 디버깅을 하려면 우선 vmware에 설치된 Windows OS의 boot.ini 파일을 조금 수정을 해주어야 된다.
기존의 boot.ini 파일에서 [operating systems]항목을 수정해주면 된다. 해당 항목을 다음과 같이 수정해주도록 하자.
만약을 위해서 기존의 boot.ini 파일은 백업~해주는 센스~
- [boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /debugport=com1 /baudrate = 115200
설정 후 vmware [VM] - [Setting]으로 이동해서 아래의 항목을 추가하도록 하자. 표시가된 부분이 설정을 해야 할
부분이다.
Windbg 설정
Windgb 바로가기 아이콘에서 [속성] - [바로가기] Tab으로 이동 후 [대상] 항목을 아래와 같이 변경을 해주도록 하자
알겠지만 port의 경로를 보면 vmware에서 Use named pipe의 경로와 동일하다는 것을 알 수 있다.
Symbol Link
설치 및 설정을 모두 끝낸 후 vmware를 시작한 후 Windbg를 동작시키게 되면 연결이 되는 것을 확인할 수 있다.
이후 Windgb [File] - [Symbolic File Path]에서 해당 이전에 설치한 Symbol의 경로를 설정해주도록 하자.
설정후 [Debug] - [Break]를 하면 vmware상에서 Windows는 정지가 되고 Windbg에서 Symbol들이 로딩이 되는
것을 확인 할 수 있다.
이제 Driver 코드에서 커널 디버그 함수인 DbgPrint함수를 삽입하고 드라이버 코드를 로딩하면 해당 위치에서 Windbg상에
디버그 메시지가 출력이 되는 것을 확인을 할 수 있다
'Window Driver' 카테고리의 다른 글
IoCreateDevice() (0) | 2010.02.17 |
---|---|
USB 디바이스 설정 (0) | 2010.02.17 |
USB Driver , *.inf 파일 작성 중 ClassGUID (0) | 2010.02.16 |
디바이스 드라이버 이벤트발생순서 (0) | 2010.02.16 |
Window Driver IOCTL / PnP 소스 (0) | 2010.02.16 |