# 중단점

## 개요

**중단점(Breakpoint)** 기능은 스크립트 디버깅 도구로, 스크립트 실행 중 특정 위치에서 코드를 일시 중지하여 해당 지점의 상태를 조사하거나 문제를 분석하는 데 사용됩니다.

중단점에 적중되면 **Watch, Call Stack** 등의 디버깅 패널을 통해 현재 실행 상태를 확인하고 코드를 단계별로 진행할 수 있습니다.

## 사용 방법

### 1. Script Editor에서 중단점 설정

디버깅이 필요한 스크립트를 열고 중단점을 실행할 코드 라인을 확인한 뒤, **코드 라인 번호 왼쪽의 가로열 부분**을 클릭해 중단점을 생성합니다.

<figure><img src="/files/dnUlV8YjSwwcu0KvvgTW" alt=""><figcaption></figcaption></figure>

중단점이 생성되면 붉은 원(🔴)이 생성되며, 원을 다시 클릭하면 비활성화(⭕)할 수 있습니다.

<figure><img src="/files/z9uBq2j6j5dho9ZuzByC" alt=""><figcaption></figcaption></figure>

생성한 중단점을 우클릭한 다음, 메뉴에서 각 기능을 눌러 중단점을 편집할 수 있습니다.

<div align="left"><figure><img src="/files/FqQPrV32F6bxDmVfsmvB" alt=""><figcaption></figcaption></figure></div>

* Edit Breakpoint : 중단점 조건식 설정
* Disable Breakpoint : 중단점 비활성화
* Delete Breakpoint : 중단점 제거

### 2. 테스트 플레이에서 중단점이 설정된 코드 라인 실행

테스트 플레이를 실행한 다음, **중단점이 설정된 코드 라인**이 실행될 수 있도록 게임을 조작합니다.

중단점이 설정된 코드 라인이 실행되면(중단점 적중) 게임이 멈추고, 적중된 중단점의 코드 라인에 **화살표(➡)**&#xAC00; 표시됩니다. 이 상태에서 Call Stack이나 Watch를 분석할 수 있습니다.

<figure><img src="/files/jaLxg1AcsqC620pO8fAF" alt=""><figcaption></figcaption></figure>

### 3. Watch 분석

Watch 탭에서 변수 값의 상태나 특정 변수 추적 등 현재 상태를 확인할 수 있습니다.

<figure><img src="/files/J0fd0P0bX9LH7ycrAptj" alt=""><figcaption></figcaption></figure>

### 4. Call Stack 분석

Call Stack 탭에서 코드 호출의 흐름를 확인할 수 있습니다.

<figure><img src="/files/l4KCJxURa72WiB3cvjX2" alt=""><figcaption></figcaption></figure>

Call Stack 탭 상단의 버튼을 눌러, 적중된 중단점을 탈출하여 다음 중단점으로 넘어가거나, 정지된 게임을 재개할 수 있습니다.

<figure><img src="/files/kvvE7qLFiJCadXizJJnN" alt=""><figcaption></figcaption></figure>

* 1️⃣ Step Into : 현재 줄의 **함수 내부**로 들어가 디버깅을 진행합니다.
* 2️⃣ Step Over : 현재 줄의 함수를 실행하고 **내부로 들어가지 않고 다음 줄**로 이동합니다.
* 3️⃣ Step Out : 현재 함수의 나머지를 실행한 뒤 **상위 함수**로 돌아갑니다.

### 5. Break Point 일괄 편집

여러 스크립트에 중단점을 설정한 경우, 각 스크립트를 열지 않더라도 Breakpoints 탭에서 전체 목록을 확인할 수 있으며, Breakpints 탭 상단의 버튼을 눌러 모든 중단점을 활성화/비활성화하거나 제거할 수 있습니다.

<figure><img src="/files/LamMug42QB1HlR1f5Y2p" alt=""><figcaption></figcaption></figure>

* 1️⃣ Disable All Breakpoints : 모든 중단점을 활성화/비활성화
* 2️⃣ Delete All Breakpoints : 모든 중단점을 제거

### 6. 문제와 해결

Call Stack과 Watch 정보를 바탕으로 디버깅 중 특정 변수의 값 확인, 오브젝트 속성의 변화 추적, 예상치 못한 함수 호출, 의도하지 않은 코드 흐름 등을 효과적으로 분석할 수 있습니다.

## 활용 예시

중단점은 코드의 문제를 파악하고 수정하는 데 매우 효과적인 도구입니다. 예를 들어, 반복문에서 누적 합계를 계산하는 코드가 예상과 다른 결과를 출력한다면 Watch 탭을 활용해 변수의 값을 추적하고 초기값 설정이나 계산식 오류를 쉽게 발견할 수 있습니다.

또한 Call Stack 탭은 함수 호출 순서를 추적하고 코드 실행 경로를 이해하는 데 유용합니다. 예를 들어, 특정 함수가 예상치 못한 값으로 호출되거나 호출 순서가 어긋난 경우, Call Stack을 확인하여 문제의 근본 원인을 찾을 수 있습니다.

이처럼 디버깅 도구를 적절히 활용하면 변수 상태, 함수 호출 흐름, 코드의 논리를 체계적으로 분석할 수 있어 **문제 해결 속도**를 크게 높일 수 있습니다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/korean/manual/script-manual/debugging-and-optimization/breakpoint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
