프로그램 행및 크래쉬 해결을 위한 디버깅툴 ADPLUS 사용법 메모.

프로그래밍/프로그래밍 메모장 2007/02/21 11:58
기본적 관련사항 링크

마이크로소프트사의 기술지원 문서
http://support.microsoft.com/kb/286350 : ADPLUS를 이용한 프로세스 중지와 충돌 해결법


누적되는 내부의 COM 에러나 메모리문제등으로 해서 상당한 장시간(1달이상)의 수행후에
다운되는 윈도우즈 응용프로그램의 문제를 해결하기 위해서 해결포인트를 찾는데
유용하다.

몇개월간 사용해본 실제적 메모.

1. 마이크로소프트 다운로드 센터에서 windbg 툴 최신버전을 다운로드한다.
  (링크는 위의 참조문서에 있다.)
  주의점 ADPLUS라는 것이 독립적인 툴이라기보단 windbg 의 툴중의 하나이다.
  즉 windbg를 깔아야 된다.

  깔고나서 APLUS가 어디 있는지 프로그램 그룹이나 이런것을 찾아보면 낭패

2. 원하는 실행파일과 디버그정보 파일을 준비한다.
         파일명.exe 파일명.pdb

   디렉토리를 하나 생성한다. (예 C\debug)
  디버그 디렉토리에 디버그정보 파일을 복사한다.

  디버깅하고자 하는 프로그램을 실행시킨다.

3. windbg가 설치된 디렉토리로 이동한다.
  일반적인 디렉토리는 Program Files \ Debugging Tools For Windows 이다.

  >adplus -crash -pn  -y c:\debug  파일명.exe

다음과 같은 형태로 실행한다.
cmd창은 계속유지한다.

(위 옵션의 설명  -crash 모드에 대한 검사를 수행한다. 자세한것은 기술문서 참조)
( -pn 프로세스 이름으로 프로세스를 선택( 실행파일명을 적어주어도 된다.<< 알아서찾음))
( -y 디렉토리 :  -y 는 디버그정보가 있다는 플레그이며 뒤는 디버그정보 디렉토리임)
중요한것은 -y 옵션이다. 이 옵션 없이 사용할수 있으나
이 옵션 없이 사용하면 정말 로우레벨의 덤프정보 밖에 없다.  이것으로는 힘들다.

-y 옵션을 사용하여 디버그 정보 파일과 함께 수행하면
프로그램 이상시  최하위단(커널단)으로부터  응용프로그램 함수단까지의 경로를
분석해준다. (즉 크래쉬 시점의 문제의 최상위 함수명까지 알 수 있다.)
top

Trackback Address :: http://www.xevious7.com/trackback/214

Write a comment