※ VS의 빌드 모드 2가지 ※
VS(Visual Studio)를 보면 코드를 작성한 후 CTRL + F9를 눌러서 디버깅하지않고 빌드를 해서
exe파일을 생성하는데, 이 때 빌드 구성 설정 Debug와 Release 이 2개의 모드가 있는데,
지금부터 2개 모드의 차이점을 알아보자
-
-
위의 사진의 내용은 Debug모드와 Release모드의 차이점을 설명해주고 있다.
이제 입문자 / 초보자들을 위해서 설명해드리자면
우린 (입문자 또는 초보자)리버서 이다.
그리하여 리버싱할 때 최적화 된 프로그램을 리버싱하기 위해서
Release모드로 빌드한다.
-
Release모드는 개발자가 최종적으로 배포하기 위해서 빌드할 때 사용하는 모드이다.
Release모드는 프로그램을 최적화 해주는 기능이 있으며, 디버깅 정보를 실행코드 안에 넣지않는다.
-
Debug모드는 VS(Visual Studio)에서 빌드할 때 기본으로 선택되어 있는 빌드 모드이다.
Debug모드는 Release모드와 달리 디버깅 정보를 실행코드 안에 넣는다.
-
※ 디버깅 정보를 포함하고 있느냐 VS 디버깅 정보를 포함하고 있지 않느냐 ※
Debug모드는 디버깅 정보를 포함하고 있고,
Release모드는 디버깅 정보를 포함하지 않고 있다.
일단 디버깅 정보란 코드를 빌드한 후 실행파일이 만들어지는데,
이때 디버깅 정보가 들어가 있으면 후에 실행파일을 다시 디버그 작업을 해야할 때
편하게 디버그 작업을 할 수 있다.
하지만 Release모드의 기능처럼 디버깅 정보가 들어가 있지 않으면,
후에 프로그램의 디버그 작업이 불가능하다.
'Reversing > 리버싱 이론' 카테고리의 다른 글
패치와 크랙 (0) | 2021.01.29 |
---|---|
Source code, Hex Code, Assembly Code (0) | 2021.01.29 |
디버거와 어셈블리 언어 (0) | 2021.01.29 |
정적 분석과 동적 분석 및 두 가지 분석 방법 활용 (0) | 2021.01.29 |
범용 레지스터(General Purpose Registers)(32bit - 8개) (0) | 2021.01.29 |