재현 고정
입력값, 빌드 구성, 실행 순서를 기록해 같은 문제를 다시 만든다.
브레이크포인트를 많이 찍기보다 어떤 상태를 확인할지 정하고, 한 단계씩 실행 흐름과 변수 값을 대조한다.
입력값, 빌드 구성, 실행 순서를 기록해 같은 문제를 다시 만든다.
-g, -O0, /Zi처럼 소스와 상태가 맞게 빌드한다.
증상 직전, 의심 함수 입구, 조건이 바뀌는 줄에 중단점을 둔다.
Locals, Watch, Call Stack, Memory 창으로 값과 호출 경로를 맞춘다.
같은 재현 조건으로 다시 실행해 결과와 주변 동작이 유지되는지 본다.
함수 내부가 의심스럽지 않으면 한 줄 실행 후 변수 변화를 확인한다.
calculate_sum처럼 결과를 만드는 함수 안으로 들어간다.
호출자로 돌아가 반환값이 어디서 잘못 쓰이는지 이어서 본다.
이미 확인한 구간은 지나가고 다음 관찰 지점에서 멈춘다.