[Visual Studio] Debug, Release 모드 차이점
Visual Studio 프로젝트에서 빌드를 하는 방법에는 디버그(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
[C/C++] Debug 빌드 vs Release 빌드 차이점 정리
C/C++의 빌드 모드 C/C++의 Debug 및 Release 빌드 모드의 의미와 차이, 각 모드별 장단점에 대해서 알아보고, 추가로 성능 측정을 통해 실제 환경에서 비교해보자. 보통 C++로 코드 작성 후 결과물을 실
itisguide.tistory.com
다중 스레드 애플리케이션 디버그 - Visual Studio
Visual Studio에서 다중 스레드 애플리케이션을 디버그합니다. 다중 스레드 앱 디버깅 관련 도구 및 기타 문서를 검토합니다.
docs.microsoft.com