디버그 심볼이란것은 빌드를 할때 디버깅이냐 릴리즈이냐에 따라 특정코드를 빼고 넣고 하는 기능입니다.
예를 들면 디버깅 할때는 A_DEV라는 클래스를 참조하여 디버깅이 쉽게 할수 있지만 릴리즈때는 A클래스를 참조 시켜 퍼포먼스 최적화를 노린다던가 할때 사용합니다.

저는 디버깅용 모듈을 만들어 쓰는 것을 좋아해서 디버깅 심볼을 자주 쓰진 않았습니다.
디버깅용 모듈을 만들면 릴리즈모드에서도 특정동작으로 디버그 메시지 같은 것을 출력할수 있게 하여서 디버깅이 쉽게 할수 있다는 장점 때문이죠 ㅎㅎㅎ
프로그램이 무거워 진다는 단점이 있지만 OTL

실버라이트로 넘어오니 웹서비스때문에 디버그 심볼을 자주 이용하게 되서 정리해 둡니다.

1.디버그 심볼 지정하기
비주얼 스트디오에서
프로젝트 속성 > 빌드 > 조건부 컴파일 기호
를 지정해주시면 됩니다.


1번을 보시면 릴리즈 같은 다른 빌드구성도 선택할수 있는데 해당 빌드 구성마다 디버그 심볼을 따로 만들어 주셔야 합니다.

2번에 디버그 심볼을 일반적으로 대문자만 사용합니다.
여러개를 지정하고 싶다면 콤마(,)로 구분하시면 됩니다.

2. 사용하기
C++때와 마찬가지로 샵(#)으로 시작하면 됩니다.
일반적으로 #if~#endif 를 많이 사용합니다.
하지만 로컬, 개발서버, 운영서버 이런식으로 있다면 #elif를 사용하여 여러 빌드구성을 지정할수 있습니다.

#if LOCAL
    using Service = Tiger.ServiceLocal;
#elif DEV
    using Service = Tiger.ServiceDev;
#else
    using Service = Tiger.ServiceMC; 
#endif


이렇게 디버깅 심볼을 지정해 두시면 비주얼 스트디오상에 바로 표시가 됩니다.


개발서버 구성을 성택하면 15번줄이 활성화 됩니다.

3.더 자세한 내용
#if 문에 대한 더 자세한 내용은 MSDN을 참고 하세요
참고 : MSDN - #if(C# 참조)




  1. Favicon of http://libmarco.tistory.com BlogIcon 좡이 2011.12.20 11:58 신고  Address  Edit/Delete  Reply

    잘 보았습니다~
    윈도우 개발 환경이 부럽내요 ㅠ

  2. 2년차 개발자 2011.12.20 15:38 신고  Address  Edit/Delete  Reply

    글 잘 보았습니다~
    저도 처음으로 블로그를 시작해보려고하는데...
    초대장있어야 한다네요..ㅎㅎ
    혹시 초대장있으시면 부탁좀드려도 될까요..
    주로 모바일 프로그래밍과 관련된 내용을 정리해볼까 생각중입니다.
    choel99@gmail.com 입니다.
    꼭좀 부탁드려요~

    • Favicon of http://blog.danggun.net BlogIcon 당근천국 2011.12.21 11:39 신고  Address  Edit/Delete

      이상하게 전 초대장이 거의 안날아와서 지인들 주려고 남겨둔 몇장뿐이 없습니다.
      여기보다는 티스토리 초대장배포 게시판에 가보시는것이 좋을듯 하네요 ㅎㅎㅎ

댓글 작성

이름
패스워드
홈페이지
비밀글

티스토리 툴바