이전포스트

Dll 을 디버깅 하자

freemmer 2016. 9. 1. 15:55

프로젝트를 진행할때 DLL을 사용하는 경우가 많습니다.

프로젝트의 모든 소스를 가지고 있다면 DLL을 디버깅 하는것은 쉽습니다. 그냥 DLL 소스안에 브레이크 포인트를

걸어놓기만 하면 끝~

 

그렇지만 소스를 가지고 있는 부분이 DLL부분의 소스라면? 혹은 ActiveX로 제작하는 프로젝트에 포함되는 DLL

이라서 cab파일에 포함되어 있다면?

 

저 같은 경우 ActiveX 프로젝트를 진행할때 DLL을 그냥 release로 컴파일 한담에 로그파일로 확인하는 방법을 사용했

었습니다. 하지만 디버그 모드로 컴파일해서 디버깅할 수 있는 방법이 있다는걸 다른 프로그래머분을 통해서 알았습니다.

역시 머리가 나쁘면 몸이 고생한다는 말이 맞는것 같군요 ㅡㅡ;;

 

방법은 생각보다 간단합니다.

ActiveX 프로젝트인 경우 결과물을 cab파일로 만들죠. 이 안에 제작한 dll이 있다고 칩시다.

이 dll은 사용자 PC에 복사가 됩니다. (C:\Windows\system32)

 

1. DLL프로젝트를 VC++로 엽니다.

2. Project->Settings 선택 (Alt+F7)

3. Debug탭에 Exevutable for debug session에 C:\Program Files\Internet Explorer\IEXPLORE.EXE

   Program argumemts에 사이트주소를(ActiveX가 설치되는곳) 넣습니다.

4. DLL프로젝트에서 원하는 곳에 브레이크 포인터를 겁니다.

5. F5를 눌러 디버그 모드를 실행합니다.

 


 

 

끝입니다. 이제 각 변수등의 정보를 확인 하실 수 있습니다.

session에 다른 프로그램등을 넣으면 DLL소스만 있어도 디버깅이 가능하겠죠? ^^


반응형