티스토리 뷰
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 파일은 백업~해주는 센스~
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상에
디버그 메시지가 출력이 되는 것을 확인을 할 수 있다
'Development > Driver' 카테고리의 다른 글
USB Setup transaction format (0) | 2010.06.09 |
---|---|
IHV 세미나(20100520) 요약 (0) | 2010.05.31 |
X Module Driver Enable/Disable 하기 (0) | 2010.05.17 |
ClassGUID (0) | 2010.04.27 |
레지스트리 SERVICE에 있는 변수 설명 (0) | 2010.04.27 |
Vista에서 드라이버 배포하는 방법 (2) | 2010.04.22 |
Windows Vista 응용프로그램, 드라이버에 코드 사이닝 하기 (1) | 2010.04.20 |
Code Signing(Authenticode) 해야하는 이유 (0) | 2010.04.15 |
- Total
- Today
- Yesterday
- db
- database
- it
- MFC
- android
- jni
- linux
- 안드로이드
- C
- winapi
- Visual C++
- source
- API
- kering
- driver
- Cloud
- 드라이버
- Quiz
- 음악
- gcc
- C++
- 프로그래밍
- AWS
- java
- NDK
- jni강좌
- Python
- Troubleshooting
- algorithm
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |