debugging toolkit
버그 증상에 맞는 디버거 기능을 먼저 고른다
모든 창을 동시에 열기보다, 현재 증상이 요구하는 단서를 가장 빨리 보여 주는 기능부터 사용한다.
증상
먼저 쓸 기능
확인할 단서
값이 어느 순간 틀어짐
Watch / Locals
기대 값과 실제 값이 처음 갈라지는 라인
특정 조건에서만 실패
조건부 브레이크포인트
조건이 참인 반복 횟수와 그때의 입력 값
누가 값을 바꾸는지 모름
데이터 브레이크포인트
메모리 값이 변경되는 정확한 명령 위치
크래시 위치가 애매함
Call Stack / Dump
비정상 종료 시점의 호출 경로와 인자
스레드가 멈추거나 꼬임
Threads / Stack
각 스레드가 기다리는 락과 현재 실행 위치
선택 기준: 기능 이름을 외우기보다 지금 모르는 값, 위치, 호출자를 먼저 정한다.
다음 행동: 단서가 나오면 브레이크포인트를 더 가까운 줄로 옮겨 원인 범위를 줄인다.