Debugging (Breakpoint)

중단점을 사용하는 방법이에요.

중단점을 이용한 디버깅

중단점은 테스트 혹은 디버깅을 할 때 활용할 수 있는 기능이에요. 🔍

확인이 필요한 스크립트 로직에 중단점을 추가하면, 플레이 도중에 해당 로직에 멈춘 상태에서 관련된 값들을 확인해볼 수 있어요.

중단점의 자세한 활용 방법은 아래 내용을 확인해주세요. 😉

중단점을 추가하는 방법

Script Editor에서 원하는 라인의 왼쪽 공간을 클릭하면, 중단점🔴 을 추가할 수 있어요.

  • 중단점 추가/삭제 단축키 : Pause/Break

중단점을 추가할 때는 다음 사항에 유의해주세요.

  • 스크립트의 첫 번째 라인에는 중단점을 추가할 수 없어요. 😣

  • 내용 없이 비어있는 라인에는 중단점을 추가할 수 없어요. 🤔

  • 중단점과 같은 라인에 있는 코드는, 중단된 시점에서 아직 처리되지 않은 상태라는 것을 기억해주세요. 💭

중단점을 테스트하는 방법

중단점을 추가한 상태에서, 테스트 플레이를 시작해볼게요. ▶️

플레이를 진행하던 도중, 중단점에 해당하는 라인에 도달하면 테스트 플레이가 멈춰요. ⏸️

오브젝트의 Collision을 처리하는 함수 내부에 중단점을 추가했다면, 캐릭터가 Collision에 닿았을 때 플레이가 멈추게 돼요.

중단점에서 변수 정보를 확인하는 방법

중단점이 추가된 라인에 포함된 함수 혹은 코드들은 스택이라고 해요.

현재 멈춰있는 스택에 대한 정보는, Player OutputScript Editor에서 확인할 수 있어요. 👁️

Breakpoint 탭

추가한 중단점들을 한눈에 확인할 수 있는 탭이에요.

왼쪽 체크 박스☑를 클릭하면, 해당하는 중단점을 사용할지 말지 결정할 수 있어요.

Script Editor에 있는 Breakpoint 탭에서는 원하는 리스트를 더블 클릭🖱️하면, 해당 중단점이 있는 라인으로 이동할 수 있어요.

CallStack 탭

중단점에 도달했을 때, 어떤 스크립트 및 몇 번째 라인의 중단점인지 확인✅할 수 있는 탭이에요.

함수 내부에 있는 라인에서 중단된 경우, 해당 함수의 이름과 함수가 호출된 라인도 표시해요.

Watch 탭

중단점에 도달했을 때, 값을 확인하고 싶은 변수를 추가할 수 있는 탭이에요.

Local 및 Global로 선언된 변수, Player나 Cube 같은 객체에 저장된 변수를 추적할 수 있어요.

추적하고 싶은 변수 이름을 작성 ✏️한 후에, Add 버튼을 클릭하면 추가할 수 있어요.

해당 변수에 아직 처리된 정보가 없다면, 회색🤍으로 표시해요.

Watch 및 Auto 탭에 붉은색으로 표시되는 값은, 해당 중단점에서 변경된 값임을 의미해요.

Auto 탭

중단점에 도달했을 때, 현재 스택에 있는 변수를 자동으로 표시해주는 탭이에요. 🖨️

변수 이름(Name)과 해당 변수에 저장된 값(Value), 그리고 자료형(Type)을 확인할 수 있어요. 👀

월드 트리에 있는 객체를 변수에 저장했다면, 저장된 변수 이름과 객체의 실제 이름을 같이 표시해요.

스크립트에 Table 변수를 추가했다면, Auto 탭에서 해당 Table의 속성을 확인할 수 있어요. 아래에서 Table의 속성이 어떻게 출력되는지 참고해주세요. 😊

비어 있는 Table의 경우에는, 다음과 같이 출력해요.

Table 내부에 값이 있을 경우, 다음과 같이 출력해요.

Table 변수에 Key와 Value 형태로 저장된 경우, 다음과 같이 출력해요.

중단점에서 사용할 수 있는 단축키

현재 중단되어 있는 스택의 정보를 충분히 확인했다면, 다음 라인의 정보를 확인하거나 멈춘 플레이를 다시 이어서 진행할 수 있어요.

아래 작성된 단축키를 활용해보세요. ⌨️

단축키설명

1

1번 키를 누르면, 이어서 테스트 플레이를 진행해요. 다음 중단점을 만나면 다시 플레이가 멈춰요.

2

2번 키를 누르면, 현재 중단점의 바로 다음 라인으로 이동해서 중단해요. 다음 라인에서 호출된 함수를 만난다면, 무시하고 그 다음 라인으로 이동해요.

3

3번 키를 누르면, 마찬가지로 현재 중단점의 바로 다음 라인으로 이동해서 중단해요. 단, 다음 라인에서 호출된 함수를 만난다면, 해당 함수 내부에 있는 코드로 이동해요.

4

현재 중단된 라인이 함수 내부에 있을 경우에, 4번 키를 누르면 해당 함수를 빠져나올 수 있어요. 빠져나온 함수를 호출한 라인의 바로 다음 라인으로 이동해서 중단해요.

중단점 사용 시, 유의 사항

변수 정보가 1줄밖에 없는 코드에 중단점을 추가한다면, 중단되었을 때 해당 변수는 Auto 탭에 추가되지 않고, Watch 탭에서도 추적할 수 없어요.

Mesh, Collider 처럼 기본으로 속성을 가지고 있는 객체가 현재 스택에 포함된다면, Auto 탭에서 각 객체의 하위에 속성들을 자동으로 출력해요. 🖨️

해당하는 속성들의 값은 정확하게 출력되지 않을 수도 있다는 점을 유의해주세요. 😥

멀티플레이👥 테스트를 할 때, 중단점에 도달하면, 첫번째 플레이어의 화면만 멈춰요.

해당하는 스택의 정보 또한 첫번째 플레이어👤에서만 추적할 수 있다는 점을 기억해주세요.

Last updated