프로그래머/CPP_강의정리

cpp 디버깅 기초

미역국마싯 2021. 9. 28. 16:34

디버깅 기초

F5, shift + F5, F10, F11

int MultiplyBy(int a, int b)
{
	return a * b;
}

int main()
{
	int a = 3;
	int b = 5;
	int result = MultiplyBy(b, a);
}

F5는 중단점까지 실행한다는 의미다. 한 번 더 누르면 다음 중단점까지 실행한다. 없다면 프로그램 전체를 실행한다.

shift + F5는 디버깅을 중단한다.

F10은 프로시저(함수) 단위로 코드를 실행한다는 의미다.

F11은 한 단계씩 코드 실행인데, 실행 중에 함수를 만난다면 함수 내부로 진입한다.

위에서 F11을 누르면서 한 줄씩 실행하다가 main의 MultiplyBy(b, a)를 만나면, 해당 함수로 이동해서 실행하는 것이다.

 

 

조사식

F5를 통해 디버깅을 시작했을 때, 조사식이 보일 것이다. 변수의 값을 변경하고 테스트 해보고 싶을 때 유용하다.

 

 

호출 스택

어떤 함수에서 호출됐는지 알려면, visual studio의 기능 중 하나인 호출 스택을 보면 된다.

디버깅할 때 '예외가 발생함'이 뜰 때가 있다. 이럴 때 호출 스택을 보면 어떤 함수로 인해 예외가 발생했는지 알 수 있다.

 

중단점

몇 백 줄이 넘어가는 코드에서 모든 중단점을 찾기 힘들다. 디버깅 모드에서 중단점 창을 띄우면 어디에 중단점이 있는지 알 수 있으며, delete를 통해 삭제도 할 수 있다.

 

조건 설정

조건부로 breakpoint를 지정할 수 있다.

breakpoint에서 오른쪽 키를 누르면 된다.
a가 5인 경우 breakpoint가 작동되도록 조건을 설정한다.

 

작업 설정

디버깅을 했을때 멈추고 싶진 않지만, 실행됐는지 알기 위해 특정 출력값(로그)을 보고 싶을 때 유용하다.

위와 같이 중단점에서 오른쪽 키를 클릭해서 작업으로 들어간다.

Hello Debug!를 출력하도록 한다
출력창에서 볼 수 있다

 

코드 흐름 제어

특정 중단점까지 오는 과정을 다시 한 번 보고 싶을 때 유용하다.

중단점에 있는 화살표를 옮기면 된다.

 

 

 

출처

https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard

 

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의

시리즈를 원활하게 학습하기 위한 기초적인 C++ 문법들에 대해 학습합니다. 어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11까지 핵심적인 내용을 압축해서 다루게 됩니다., - 강의 소개 | 인

www.inflearn.com

 

'프로그래머 > CPP_강의정리' 카테고리의 다른 글

cpp 함수 객체  (0) 2021.10.06
cpp 함수 포인터  (0) 2021.10.06
cpp casting의 4가지 방법  (0) 2021.09.27
cpp 얕은 복사와 깊은 복사  (0) 2021.09.23
cpp 타입 변환  (0) 2021.09.23