이 사이트의 콘텐츠는 인공지능(AI) 또는 기계 번역 기술을 사용하여 번역되었으며 오류가 있을 수 있습니다.

Skip to content

Lua 디버거 기능 개선!

오늘 저희는 Lua 디버거의 대대적인 개편 소식을 발표하게 되어 매우 기쁩니다! 이 기능은 코드가 어떻게 실행되는지 이해하고, print 문과 같은 일반적인 방법보다 더 효과적으로 버그를 찾아낼 수 있도록 설계되었습니다. 최근 Lua 디버거를 사용해 보지 않으셨다면, 코드를 더 효과적으로 디버깅하는 데 어떻게 활용할 수 있는지 확인해 보시기 바랍니다. 최신 개선 사항과 수정 사항을 설명하기 전에, Lua 디버거의 주요 기능을 간단히 살펴보겠습니다.

중단점

코드에 중단점을 삽입하면 게임의 논리를 확인하기 위해 언제든지 게임을 일시 정지할 수 있습니다. 중단점을 사용하려면 게임이 비정상적으로 동작하는 대략적인 위치를 파악하고, 더 많은 정보가 필요한 문장의 코드 줄 왼쪽을 클릭하여 중단점을 설정하세요. 그러면 코드 실행이 일시적으로 중지되며, 모든 전역 및 지역 변수, 속성, 객체 참조에 대해 게임 내에서 그 시점까지 할당된 값이 표시됩니다.

In questo esempio, è stato impostato un punto di interruzione nell'istruzione print, consentendo di ispezionare il valore delle variabili impostate passando il cursore su di esse.

코드 단계별 실행

특정 중단점에서 코드를 일시 중지하면, 현재 발생하고 있는 상황을 진단하는 데 집중할 수 있습니다. 예를 들어, 다른 함수 호출에 도달하면 해당 함수로 '단계 진입(Step Into)'하여 함수가 수행하는 작업을 조사할 수 있습니다. 또한 함수에서 '단계 종료(Step Out)'할 수도 있는데, 이 경우 함수가 반환될 때까지 코드가 실행된 후, 해당 함수를 호출한 코드의 다음 문에서 중단됩니다. 이 기능을 사용하면 변수가 시간에 따라 어떻게 변화하는지, 그리고 어떤 함수가 호출되는지 자세히 관찰할 수 있습니다.

In this example, clicking the Step Into button moves the debugger inside the function called testFunc( )
In this example, clicking the Step Out button moves the debugger out of the function called testFunc( ) and into the next line of code after the function was initially called.

변수 변경 사항 모니터링

'감시 추가' 기능을 사용하면 Lua 디버거에 중단점을 통과할 때 추적하거나 감시할 변수를 지정할 수 있습니다. 감시 목록에 항목을 추가하려면 스크립트 보기에서 변수를 선택하고 마우스 오른쪽 버튼을 클릭한 다음 '감시 추가' 메뉴 항목을 클릭하기만 하면 됩니다. 또는 '감시 추가' 버튼을 클릭하고 변수 이름을 입력할 수도 있습니다. 이렇게 하면 중단점이 실행될 때 감시 대상 변수의 값에 대한 정보가 자동으로 가져옵니다.

이 예제에서 'Step Out' 버튼을 클릭하면 디버거가 testFunc() 함수에서 벗어나, 함수가 처음 호출된 직후의 다음 코드 줄로 이동합니다.

호출 스택

콜 스택 창은 서로 순차적으로 호출되는 함수 목록을 표시합니다. 예를 들어, 함수 A가 함수 B를 호출하고, 함수 B는 다시 중단점이 포함된 함수 C를 호출합니다. 그러면 실행이 해당 중단점에서 중지될 때, 스택에는 각 함수가 호출된 순서와 호출 위치가 표시됩니다. 함수 C의 지역 변수를 관찰하는 동안 스택 내의 함수 간을 전환하고, 스택 목록에서 현재 선택된 함수의 컨텍스트를 변경하여 해당 지역 변수의 변화를 확인할 수도 있습니다.

이 예제에서는 코드의 중단점에서 게임이 일시 정지되었을 때 현재 게임 진행 상황을 확인할 수 있습니다. 현재 코드 줄이 다른 함수 내에서 호출된 함수를 통해 호출된 경우, 호출 스택에는 함수가 호출된 순서와 함께 호출이 발생한 줄 번호가 표시됩니다.

Lua 디버거 사용

Roblox Studio에서 스크립트를 편집할 때 언제든지 Lua 디버거를 사용할 수 있습니다. 시작하여 코드에 중단점을 추가하려면, 스크립트 창에서 일시 중지하고 싶은 코드 줄의 왼쪽을 클릭하기만 하면 됩니다. 클릭하여 중단점으로 지정한 각 줄에는 빨간색 점이 표시됩니다.

게임을 테스트 실행하는 즉시 '보기' 메뉴에서 '중단점', '감시 추가', '호출 스택' 옵션을 전환하여 메인 뷰포트 아래에서 코드의 동작을 조사할 수 있습니다. 정말 간단하죠! Lua 디버거를 사용해 본 적이 없다면 꼭 한번 사용해 보시기 바랍니다.

새로운 개선 사항

Lua 디버거의 주요 기능을 살펴본 데 이어, 최근 다음과 같은 여러 가지 중요한 개선 사항과 수정 사항을 적용했습니다.

  • 중단점이나 호출 스택 창에서 올바른 스크립트가 열리지 않을 수 있는 문제를 수정했습니다.
  • Lua 디버거의 현재 줄 강조 표시 문제를 수정했습니다.
  • Protected call 또는 pcall 오류가 이제 올바르게 감지됩니다.
  • 값을 모니터링하고 추적할 수 있는 혼합 테이블(Mixed tables)을 추가했습니다. 또한 테이블 변수 위에 마우스를 올리면 값을 출력할 필요 없이 모든 값을 즉시 확인할 수 있습니다.
  • 다양한 사소한 UI 개선 사항을 적용했습니다.
  • 도구 설명 및 '감시 변수 추가' 창에 대한 다양한 수정 사항을 적용했습니다.
    • 단일 문자 변수에 마우스를 올리면 변수 값이 올바르게 표시됩니다.
    • 이제 툴팁과 '감시' 창에 모든 속성이 누락 없이 나열됩니다.

저희는 재능 있는 Roblox 개발자 커뮤니티에 필요한 도구를 제공하기 위해 최선을 다하고 있습니다. 개발자 포럼을 통해 Lua 디버거를 지속적으로 개선할 수 있는 방법에 대한 여러분의 의견을 기다립니다.