사실 게임프로그래머들 중에 release 빌드, 즉 최적화된 코드, 에서 디버깅하는 사람들이 많습니다. 이유는 뭐.. 당연히 debug빌드가 졸라 느린 경우가 있기 때문이지요.
근데 그럴때마다 watch 창에서 로컬변수들 보면 다 깨져나왔죠? ???? 로 나오거나 아니면 아예 잘못된 넘으로 나오던가요. 이걸 해결하려고 디스어셈블리보면서 register에 들어있는 메모리주소를 watch 창에서 casting해서 보는 경우도 있지요. 근데 디스어셈블리 보는게 꽤 귀찮은 짓인건 맞아요..
근데 이게 Visual C++ 2012부터 지원해주더라구요. 사실 공식적인 지원은 아닙니다. 그냥 내부적으로 마이크로소프트사에서 만들어서 다른 용도로 쓰고 있던 걸 누가 찾아낸 것 뿐이거든요. 공식적으로 문서화 되어있는 스위치도 아닙니다. 하지만 현재 VC2012하고 2013에서 다 돕니다. 잘 돕니다.
자 그럼 어케 하냐.... 컴파일러에 이 스위치 하나 넣어주면 됩니다.
/d2Zi+
이 스위치 하나 넣어주시면 됩니다.
실험결과 exe파일은 전혀 손대지 않습니다. pdb파일만 좀 바뀝니다. 고로 그냥 release빌드에서 켜주셔도 아무 문제가 없을것 같습니다.
p.s. 귀찮아서 스샷 생략합니다. 이거 찾아내신 분의 블로그에서 그냥 보세요 ㅎㅎ
끝.
반응형
'프로그래밍' 카테고리의 다른 글
복셀 에디팅 팁 (0) | 2013.12.07 |
---|---|
알파혼합 가능한 RGBM (0) | 2013.11.29 |
[KGC2013] 컴오히의2의 겨울 렌더링 기법 (0) | 2013.10.23 |
[KGC2013] 아티스트에게 사랑받는 3DS Max 우버 셰이더 (1) | 2013.10.16 |
[KGC2013] 모바일 3D 엔진 개발기 (3) | 2013.10.14 |