본문 바로가기
Tools/Visual Studio

[Visual Studio] Debug, Release 모드 차이점

by lewns2 2021. 4. 11.

Visual Studio 프로젝트에서 빌드를 하는 방법에는 디버그(Debug)와 릴리스(Release) 방식이 있습니다.

Debug 모드
Release 모드

먼저, 정의를 살펴보겠습니다.

  • 디버그(Debug) : 시스템의 논리적인 오류나 비정상적 연산을 찾아내고 그 원인을 밝히고 수정하는 작업 과정
  • 릴리스(Release) : 소프트웨어 배포 생명 주기에서 컴퓨터 소프트웨어의 배포를 의미

 

정의에서 알 수 있듯, 궁극적인 컴파일 목적이 상이한 빌드임을 알 수 있습니다.

  Debug Release
코드 최적화 여부 X O
파일 크기
코드 실행 속도
메모리 사용량
컴파일 속도

 

1. 코드 최적화

 - 코드 최적화란 언어를 컴파일하는 과정에서 컴파일러가 판단하여 최적화를 진행함을 의미합니다.

 

2. 파일 크기

 - 최적화로 인해 Release 모드로 컴파일 한 것의 용량이 더 작습니다.

 

3. 코드 실행 속도

 - Debug 모드는 디버그에 필요한 정보들을 실행 시, 상시 체크하므로 속도가 느립니다.

 - 디버깅 정보를 실행코드에 포함하므로.

 

4. 메모리 사용량

 - Release 모드는 초기화를 하지 않으며, 같은 문자열이라도 서로 다른 공간에 할당됩니다.

 

 

Ref.

coding-factory.tistory.com/648

 

[IDE] 비주얼 스튜디오 Release, Debug 모드의 차이점

Visual Studio 프로젝트에서 빌드를 하는 방법에는 릴리스(Release)와 디버그(Debug) 방식이 있습니다. 하지만 정확한 차이점은 모르시는 분이 많더군요. 대부분 Debug 버전은 디버깅용으로 Release 버전은

coding-factory.tistory.com

 

itisguide.tistory.com/4

 

[C/C++] Debug 빌드 vs Release 빌드 차이점 정리

C/C++의 빌드 모드 C/C++의 Debug 및 Release 빌드 모드의 의미와 차이, 각 모드별 장단점에 대해서 알아보고, 추가로 성능 측정을 통해 실제 환경에서 비교해보자. 보통 C++로 코드 작성 후 결과물을 실

itisguide.tistory.com

docs.microsoft.com/ko-kr/visualstudio/debugger/debug-multithreaded-applications-in-visual-studio?view=vs-2019

 

다중 스레드 애플리케이션 디버그 - Visual Studio

Visual Studio에서 다중 스레드 애플리케이션을 디버그합니다. 다중 스레드 앱 디버깅 관련 도구 및 기타 문서를 검토합니다.

docs.microsoft.com

 

728x90
반응형