📌 1. 주요 단축키 정리
🔹 빌드 & 컴파일 관련 단축키
Ctrl + F7 | 현재 파일만 컴파일 (빌드 X) |
Ctrl + Shift + B | 전체 프로젝트 빌드(Build) |
F7 | 프로젝트 다시 빌드 (Ctrl+Shift+B와 유사) |
🔹 디버깅 관련 단축키
F5 | 디버깅 시작 (다음 중단점까지 실행) |
Ctrl + F5 | 디버깅 없이 프로그램 실행 |
F10 | 현재 명령문을 실행하고 다음 명령문으로 이동 (Step Over) |
F11 | 함수 내부로 이동 (Step Into) |
Shift + F11 | 현재 함수에서 빠져나가기 (Step Out) |
Ctrl + Shift + F5 | 디버깅 다시 시작 (프로그램 재시작) |
📌 Step Over(F10) vs Step Into(F11) 차이
- F10(Step Over): 함수가 있어도 내부로 들어가지 않고 그대로 실행
- F11(Step Into): 함수 내부 코드로 들어가서 실행
- Shift + F11(Step Out): 현재 함수 실행을 끝내고 호출한 상위 함수로 돌아감
📌 2. 로컬 자동 조사식(Local Window) 활용법
🔹 로컬 창(Local Window) 사용법
로컬(Local) 창은 현재 함수 내에서 사용 중인 변수 값을 확인할 수 있는 창입니다.
👉 디버깅 모드(F5 실행 후 중단점 도달)에서 Debug → Windows → Locals에서 확인 가능
📌 추천: "로컬 창(Local Window)"을 주로 사용
✅ 현재 함수에서 선언된 변수만 보여주므로 깔끔하게 확인 가능
✅ 값이 실시간으로 변경되는지 쉽게 추적 가능
#include <iostream>
using namespace std;
void TestFunction(int a, int b) {
int sum = a + b; // 로컬(Local) 창에서 sum 값 확인 가능
cout << "Sum: " << sum << endl;
}
int main() {
int x = 10, y = 20;
TestFunction(x, y); // x, y 값도 로컬 창에서 확인 가능
return 0;
}
🔹 자동 조사식(Auto Window) vs 로컬 창(Local Window)
자동 조사식(Auto) | 현재 실행 중인 코드와 관련된 변수만 자동으로 표시 |
로컬(Local) 창 | 현재 함수 내의 모든 지역 변수를 표시 (더 직관적) |
📌 일반적으로 "로컬 창"을 주로 사용하는 것이 좋음!
📌 3. 중단점(Breakpoint) 활용법
🔹 중단점 사용법
중단점(Breakpoint)은 특정 지점에서 프로그램 실행을 멈추고 변수 값을 확인하는 기능입니다.
✅ 중단점 추가 & 제거
- 소스 코드의 실행할 줄에서 F9 누르기 (빨간 점 표시됨)
- 다시 F9을 누르면 중단점 해제
✅ 중단점에서 작업하기
중단점 추가 / 제거 | F9 |
모든 중단점 보기 | Ctrl + Alt + B |
특정 조건에서만 중단 | 중단점 우클릭 → "조건(Breakpoint Condition)" 설정 |
특정 횟수 이후 중단 | 중단점 우클릭 → "적중 횟수(Hit Count)" 설정 |
예외 발생 시 중단 | Ctrl + Alt + E (예외 처리 창 열기) |
📌 중단점 심화 기능 (예제)
1️⃣ 조건부 중단점
특정 조건이 만족될 때만 중단점에서 멈추도록 설정 가능
for (int i = 0; i < 10; i++) {
cout << "i: " << i << endl;
}
📌 i == 5일 때만 멈추고 싶다면?
- 중단점 우클릭 → "조건(Breakpoint Condition)" → i == 5 입력
2️⃣ 중단점 적중 횟수 설정
특정 횟수만큼 실행된 후 중단되도록 설정 가능
📌 예: 루프가 10번 실행된 후에 중단점이 걸리게 설정 가능
- 중단점 우클릭 → "적중 횟수(Hit Count)" → 10 입력
3️⃣ 예외 발생 시 중단
- Ctrl + Alt + E를 누르면 Exception Settings 창이 열림
- 특정 예외(ex. std::out_of_range, std::runtime_error)가 발생할 때 중단 가능
try {
throw runtime_error("에러 발생!");
} catch (exception& e) {
cout << e.what() << endl; // 예외 발생 확인 가능
}
📌 Ctrl + Alt + E → C++ 예외 체크하면 예외가 발생하는 순간 바로 멈춤!