Develop/Driver
WinDbg, VM 디버깅 설정
작코
2010. 1. 7. 18:59
VMWare 에서 할일! 시간상 글로 대체..
WinDbg 에서 할일!
1. VMWare자체 메뉴에서 하드웨어추가 마법사(Add Hardware Wizard)를 이용해서
Serial Port를 추가한다..
2. 이후 화면에서 Output to named pipe를 선택한다.
3. 각 칸에
\\.\pipe\com_1
This end is the server.
The other end is an application.
채워넣고.. 다음항목에 체크한다.
Connect at power on
4. Virtual Machine Settings로 들어가서
I/O mode 항목의
Yield CPU on poll 에 체크를 해준다.
5.VMWare의 OS의 boot.ini(윈도우의 경우)를 수정한다.
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - Debug" /fastdetect /debugport=com1 /baudrate=115200
Serial Port를 추가한다..
2. 이후 화면에서 Output to named pipe를 선택한다.
3. 각 칸에
\\.\pipe\com_1
This end is the server.
The other end is an application.
채워넣고.. 다음항목에 체크한다.
Connect at power on
4. Virtual Machine Settings로 들어가서
I/O mode 항목의
Yield CPU on poll 에 체크를 해준다.
5.VMWare의 OS의 boot.ini(윈도우의 경우)를 수정한다.
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - Debug" /fastdetect /debugport=com1 /baudrate=115200
물론 직접 라인을 수정해도 되고.. 아니면 한줄 추가로 더 만들어서 선택 이용 할수도 있을것이다.
WinDbg 에서 할일!
1. 물론 WinDbg를 설치해야겠지..-_-;; (WDK를 깔때보면 옵션에 있음)
2. 디버깅 심볼을 수동으로 설치한다.
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx
C:\Windows\symbols 에 깔리게 될텐데..
File -> SymbolFilePath에 C:\Windows\symbols 경로를 추가해준다.
※ 자동으로 심볼서버에서 디버깅심볼을 받으려면
심볼서버에서 받은 디버깅심볼을 저장할 폴더를 하나 만들고
그 경로를 File -> SymbolFilePath에 srv*저장할 폴더경로*http://msdl.microsoft.com/download/symbols
이라고 적어준다. 이러면 나중에 DMP파일을 분석할때 DMP파일에 맞춰서 디버깅심볼이 다운로드 된다.
참고로 DMP파일은 윈도우의 설정에 따라 안생길 수도 있으니 주의해야한다.
3. 내컴퓨터 -> 속성 -> 고급 -> 시작 및 복구 -> 디버깅정보 쓰기(전체 메모리 덤프) 로 설정한다.
c:\windows\minidump가 생성될 것이다.
4. WinDbg의 바로가기 아이콘의 속성을 클릭!
대상에 C:\WinDDK\7600.16385.0\Debuggers\windbg.exe 이와 비슷하게 써있을것이다..
저걸 수정할 필요는 없다.. 단! 요놈뒤에 한칸띄고
C:\WinDDK\7600.16385.0\Debuggers\windbg.exe -b -k com:pipe,port=\\.\pipe\com_1
저렇게 추가를 해야 .. VM에 생성된 시리얼포트를 통해 OS의 파이프 통신이 성립된다.
5. VMOS에서 디버깅 모드로 부팅할때 Windbg를 동작 시키면? 멈춘다..
커널과의 대화를 시작한다.
2. 디버깅 심볼을 수동으로 설치한다.
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx
C:\Windows\symbols 에 깔리게 될텐데..
File -> SymbolFilePath에 C:\Windows\symbols 경로를 추가해준다.
※ 자동으로 심볼서버에서 디버깅심볼을 받으려면
심볼서버에서 받은 디버깅심볼을 저장할 폴더를 하나 만들고
그 경로를 File -> SymbolFilePath에 srv*저장할 폴더경로*http://msdl.microsoft.com/download/symbols
이라고 적어준다. 이러면 나중에 DMP파일을 분석할때 DMP파일에 맞춰서 디버깅심볼이 다운로드 된다.
참고로 DMP파일은 윈도우의 설정에 따라 안생길 수도 있으니 주의해야한다.
3. 내컴퓨터 -> 속성 -> 고급 -> 시작 및 복구 -> 디버깅정보 쓰기(전체 메모리 덤프) 로 설정한다.
c:\windows\minidump가 생성될 것이다.
4. WinDbg의 바로가기 아이콘의 속성을 클릭!
대상에 C:\WinDDK\7600.16385.0\Debuggers\windbg.exe 이와 비슷하게 써있을것이다..
저걸 수정할 필요는 없다.. 단! 요놈뒤에 한칸띄고
C:\WinDDK\7600.16385.0\Debuggers\windbg.exe -b -k com:pipe,port=\\.\pipe\com_1
저렇게 추가를 해야 .. VM에 생성된 시리얼포트를 통해 OS의 파이프 통신이 성립된다.
5. VMOS에서 디버깅 모드로 부팅할때 Windbg를 동작 시키면? 멈춘다..
커널과의 대화를 시작한다.