블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

이번 프로젝트에 무료 라이브러리를 하나 추가했는데, 이 녀석이 소스는 공개를 안하고 있는 녀석이었습니다. 현업에서 검증도 안되고 소스를 깔 수도 없는 라이브러리를 사용한 저에게 원죄가 있지만 이 녀석이 워낙에 타의 추종을 불허하는 강력한 녀석인지라 마약인지 알고서도 손을 데고야 말았습니다.

이제까지 잘 쓰고 있었는데, 최근 제품이 출시되면서 하드한 상황에서 프로그램이 돌다 보니 이 라이브러리 안에서 프로그램이 뻗는다는 것을 알게 되었습죠. 당황스러웠지만 별거 아니라고 생각하고 원작자와 몇 차례 메일을 주고 받았습니다. 하지만 생각처럼 쉽게 상황이 해결되지 않더군요.

아는 분들은 아시겠지만 이런 상황을 포함한 여러 상황에서 디버깅을 할 수 있는 방법이 있습니다. 마이크로소프트의 오류보고가 그것이죠. minidump 라고 해서 IE 5.0 이상 시절부터 추가되었다고 하더군요. 아주 심플하게 설명 드리면 디버그 모드로 실행하고 브레이크 포인트 하나 걸고 세운 다음에 메뉴 > 디버그 에 save dump 를 선택하시고 잘 저장하시면 됩니다. 이제 솔루션을 닫고 메뉴 > Open > solution 에서 저장한 .dmp(dump 파일) 을 불러주세요. F5 를 눌러서 실행해 보시면 좀 전에 멈췄던 상황을 보여줄 것입니다.

이때 좀 더 상황을 디테일하게 보고 싶은 라이브러리가 있는 경우 라이브러리와 디버그 정보(DBG 혹은 PDB 파일) 을 엮어 주시면 안에를 까볼 수 있습니다.

저의 상황에서 제가 덤프를 라이브러리 원작자 분께 넘겨 드리면 그 분은 본인은 소스가 있을 테니까 본인의 pdb 파일을 엮어서 안에 상황을 적나라하게 확인해 볼 수가 있겠죠.

아래는 제가 번역한 문서인데, 번역이 좋지 않으니 그냥 원문을 보시는 것이; 좋을 것 같습니다. 내용은 별거 아닌데 상황에 따라서 꽤나 유용하겠다 싶어 올려봅니다.

http://aronze.egloos.com/1432450#1432450_1

좋은하루 되세요.

반응형
Posted by blueasa
, |