중단점
Last updated
Last updated
중단점(Breakpoint) 기능은 스크립트 디버깅 도구로, 스크립트 실행 중 특정 위치에서 코드를 일시 중지하여 해당 지점의 상태를 조사하거나 문제를 분석하는 데 사용됩니다.
중단점에 적중되면 Watch, Call Stack 등의 디버깅 패널을 통해 현재 실행 상태를 확인하고 코드를 단계별로 진행할 수 있습니다.
디버깅이 필요한 스크립트를 열고 중단점을 실행할 코드 라인을 확인한 뒤, 코드 라인 번호 왼쪽의 가로열 부분을 클릭해 중단점을 생성합니다.
중단점이 생성되면 붉은 원(🔴)이 생성되며, 원을 다시 클릭하면 비활성화(⭕)할 수 있습니다.
생성한 중단점을 우클릭한 다음, 메뉴에서 각 기능을 눌러 중단점을 편집할 수 있습니다.
Edit Breakpoint : 중단점 조건식 설정
Disable Breakpoint : 중단점 비활성화
Delete Breakpoint : 중단점 제거
테스트 플레이를 실행한 다음, 중단점이 설정된 코드 라인이 실행될 수 있도록 게임을 조작합니다.
중단점이 설정된 코드 라인이 실행되면(중단점 적중) 게임이 멈추고, 적중된 중단점의 코드 라인에 화살표(➡)가 표시됩니다. 이 상태에서 Call Stack이나 Watch를 분석할 수 있습니다.
Watch 탭에서 변수 값의 상태나 특정 변수 추적 등 현재 상태를 확인할 수 있습니다.
Call Stack 탭에서 코드 호출의 흐름를 확인할 수 있습니다.
Call Stack 탭 상단의 버튼을 눌러, 적중된 중단점을 탈출하여 다음 중단점으로 넘어가거나, 정지된 게임을 재개할 수 있습니다.
1️⃣ Step Into : 현재 줄의 함수 내부로 들어가 디버깅을 진행합니다.
2️⃣ Step Over : 현재 줄의 함수를 실행하고 내부로 들어가지 않고 다음 줄로 이동합니다.
3️⃣ Step Out : 현재 함수의 나머지를 실행한 뒤 상위 함수로 돌아갑니다.
여러 스크립트에 중단점을 설정한 경우, 각 스크립트를 열지 않더라도 Breakpoints 탭에서 전체 목록을 확인할 수 있으며, Breakpints 탭 상단의 버튼을 눌러 모든 중단점을 활성화/비활성화하거나 제거할 수 있습니다.
1️⃣ Disable All Breakpoints : 모든 중단점을 활성화/비활성화
2️⃣ Delete All Breakpoints : 모든 중단점을 제거
Call Stack과 Watch 정보를 바탕으로 디버깅 중 특정 변수의 값 확인, 객체 속성의 변화 추적, 예상치 못한 함수 호출, 의도하지 않은 코드 흐름 등을 효과적으로 분석할 수 있습니다.
중단점은 코드의 문제를 파악하고 수정하는 데 매우 효과적인 도구입니다. 예를 들어, 반복문에서 누적 합계를 계산하는 코드가 예상과 다른 결과를 출력한다면 Watch 탭을 활용해 변수의 값을 추적하고 초기값 설정이나 계산식 오류를 쉽게 발견할 수 있습니다.
또한 Call Stack 탭은 함수 호출 순서를 추적하고 코드 실행 경로를 이해하는 데 유용합니다. 예를 들어, 특정 함수가 예상치 못한 값으로 호출되거나 호출 순서가 어긋난 경우, Call Stack을 확인하여 문제의 근본 원인을 찾을 수 있습니다.
이처럼 디버깅 도구를 적절히 활용하면 변수 상태, 함수 호출 흐름, 코드의 논리를 체계적으로 분석할 수 있어 문제 해결 속도를 크게 높일 수 있습니다.