반응형

오랜만에 글을 쓰네요.

이번에 경험한 부분에 대하여 관련 내용을 공유하려고 합니다.

 

발생한 상황 .

 - Dump 파일이 생성되지 않는 프로그램

 

[Windbg 따라하기 - 0x003 crash dump file] 생성하기 에서 보셨던 상황과는 다소 차이가 있습니다.

process list에서 볼 수 있는 환경에서는 0x003번과 같이 적용하시면 원하시는 파일을 dump 할 수 있지만

실행 하자마자 죽어버리는 상황이라면 좀 틀려 집니다.

 

필요한 준비물

  - adplus, windbg

  (※ 해당 파일은 VisualStdio를 설치 하시면 설치 됩니다. 만약 설치 안되었다면 [여기] 에서 다운 받으시기 바랍니다.)

 

그럼 준비되었으니 본격적으로 사용하도록 하겠습니다.

먼저, adplus의 역할이 무엇인지 알아야겠죠? 상세 설명은 [이곳]으로 가시기 바랍니다.

간단하게 설명하면 debugging 을 통하여 해당 프로그램에 접근 및 dump 파일을 생성할 수 있게 도와주는 프로그램 입니다.

 

따라서, 해당 프로그램의 attach 및 debugging 모드를 막아놓았다면 adplus를 사용할 수 없게 됩니다. 이점 유의 하시길 바랍니다. (만약 사용하고 싶다면 anti-debug 쪽을 제거 하신 후에 사용하시면 될 것으로 생각되네요..ㅎㅎ)

 

그럼 adplus의 옵션 중 모니터링을 하고 있다가 crash가 발생하면 debugger를 띄어주는 옵션을 인자로 넣어주고

프로그램을 실행 한다. 해당 명령어는 아래와 같다.

 

 

 

   - crash : crash 발생하면 attach 하는 옵션 (hang 옵션도 존재)

   - pmn : 프로세스가 생성될 때 까지 대기 상태로 있다가 생성되면 attach 한다.

   - dbg : debugger 종류 선택

  

이렇게 실행 하게 되면 크래쉬가 발생할 경우 windbg가 생성되게 된다.

 

test.exe 프로그램을 실행 시킬 경우 windbg가 실행 되게 된다. 그 이후 dump 명령어를 통하여 dump 생성을 한다.

 

 

파일 생성 이후 windbg로 crash 파일을 열어서 확인 하면 해당 내용에 대한 call stack 을 확인 하여 문제를 확인 할 수 있다.

 

 

 

그럼 다음엔 더 좋은 내용으로 찾아 뵙도록 하겠슴~다람쥐~~

 

 

 

반응형

+ Recent posts