[c++] 다양한 디버깅 명령어와 옵션

디버깅은 코드에서 버그를 찾고 해결하는 과정입니다. C++에서는 여러 가지 디버깅 명령어와 옵션을 사용하여 효과적으로 디버깅할 수 있습니다. 여기에서는 주요한 디버깅 명령어와 옵션 몇 가지를 살펴보겠습니다.

1. Breakpoint 활용

1-1. Breakpoint 설정과 제거

코드 실행 중 원하는 위치에 breakpoint를 설정하려면 break 명령어와 함께 함수나 라인 번호를 지정합니다.

break MyClass::MyFunction  // MyClass의 MyFunction에 breakpoint 설정
break 20                   // 20번 라인에 breakpoint 설정

Breakpoint 제거는 delete 명령어를 사용합니다.

delete 1   // ID가 1인 breakpoint 제거

1-2. 조건부 Breakpoint

특정 조건이 충족될 때만 breakpoint가 동작하도록 설정할 수 있습니다.

break 15 if x == 0   // x가 0일 때 15번 라인에 breakpoint 설정

2. 변수 및 메모리 확인

2-1. 변수 값 확인

변수의 현재 값을 확인하기 위해서는 print 또는 p 명령어를 사용합니다.

p x     // 변수 x의 값 출력

2-2. 메모리 확인

메모리 주소의 내용을 확인할 때는 x 명령어를 사용합니다.

x/16xb &variable   // variable의 주소로부터 16바이트를 16진수로 출력

3. 프로그램 제어

3-1. 다음 줄로 이동

다음 줄로 이동하는 명령어는 next 또는 n입니다.

next   // 다음 줄로 이동

3-2. 함수 내부로 들어가기

함수 내부로 들어가려면 step 또는 s 명령어를 사용합니다.

step   // 함수 내부로 이동

이 외에도 C++ 디버거에는 다양한 명령어와 옵션이 제공됩니다. 이러한 디버깅 도구를 효과적으로 활용하여 코드의 버그를 찾아내고 해결할 수 있습니다.

참고 자료