추적 중

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

Studio는 통합 개발 환경(IDE)에서 일반적으로 찾을 수 있는 많은 디버깅 도구를 제공합니다.이러한 도구는 오류를 해결하고 스크립트를 실행할 때마다 줄별로 검사하는 데 도움이 됩니다.디버깅 정보는 Watch, Call Stack, 브레이크포인트, 및 출력 창에 표시되어 검사할 수 있습니다.

일반 워크플로

경험에서 문제를 발견하거나 의도한 대로 작동하는지 확인하려면 다음과 같이 관련 코드를 디버깅할 수 있습니다.

  1. 스크립트 탭에서 플레이 또는 테스트 실행 을 클릭하여 테스트 탭에서 플레이테스트 세션, 즉 디버깅 세션을 시작합니다.

    Playtest options in Script tab.
  2. 스크립트가 중단점에 도달하면 플레이테스트 세션이 일시 중지됩니다.문제를 진단하고 이해하는 데 도움이 되도록 시계, 호출 스택출력 창을 검사합니다.

  3. 아직 실행되지 않은 코드 라인에 추가 중단점을 삽입하여 추가 데이터를 검사합니다.비활성화 또는 삭제 더 이상 필요하지 않은 중단점을 비활성화하거나 삭제합니다.

  4. 스크립트 탭에서 정지를 클릭하여 디버깅 세션을 종료합니다.

문제를 해결하거나 근본 원인을 찾을 때까지 이전 단계를 반복합니다.일반 워크플로를 배우면서 특정 조건이 충족되는 경우에만 중단점을 구성하여 출력 창에 메시지를 인쇄하고 클라이언트나 서버에서만 실행할 수 있습니다.자세한 내용은 중단점 구성을 참조하십시오.

중단점 삽입

중단점은 특정 라인에서 스크립트 실행을 일시 중지하거나 "중단"하는 검사점입니다.일시 중지를 사용하여 경험을 검사하고 디버그하고, 시청 변수를 관찰하고, 호출 스택을 검사할 수 있습니다.중단점은 함수를 디버그하는 가장 효과적인 방법 중 하나이므로 가장 중요한 디버깅 도구 중 하나입니다.실행 코드의 어느 라인에든 중단점을 삽입할 수 있습니다.

코드 줄에 표준 중단점을 삽입하려면 줄 번호 오른쪽의 여백을 클릭하십시오.마진을 마우스 오른쪽으로 클릭하고 중단점 삽입을 클릭할 수도 있습니다.중단점은 빨간색 점으로 나타납니다.비활성화하려면 점을 클릭하십시오.

Breakpoint in gutter is a red dot

코드를 단계별로 진행

스크립트에서 중단점을 삽입하면 스크립트는 해당 라인을 실행하기 전에 일시 중지됩니다.디버거라는 노란색 화살표는 다음에 실행될 코드 라인을 나타냅니다.

Active breakpoint in the debugger shows yellow arrow

스크립트가 일시 중지되면 스크립트 탭의 버튼으로 한 줄씩 다음 코드를 실행하여 순차적으로 진행합니다.버튼은 호출 스택 창의 왼쪽 상단 모서리에도 나타납니다.코드를 단계별로 진행하면서 현재 줄이 실행되는 동안 경험이 어떻게 변경되는지 모니터링합니다.

Debugging tools indicated in Script tab

다음 표에서는 코드를 단계별로 진행하는 세 가지 방법을 요약합니다.중단점에 도달한 후에도 코드 실행을 계속하려면 재시작 탭에서 스크립트 탭에서 클릭하십시오.

버튼액션바로가기설명
Button to step into a line of code 단계로 들어가기 F11 단계로 들어가기 버튼은 디버거를 현재 줄의 함수 코드로 이동합니다.현재 줄에 함수가 없으면 디버거가 다음 줄로 이동합니다.
Button to step over a line of code 단계 넘기기 F10 단계 넘기기 버튼은 디버거를 다음 코드 라인으로 이동하고, 함수로 이동하지 않습니다.
Button to step out of a line of code 단계 나가기 ShiftF11 단계 나가기 버튼은 함수 호출 후 현재 함수에서 디버거를 이동하고 다음 코드 라인으로 이동합니다.현재 줄이 함수 내에 없으면 디버거가 다음 줄로 이동합니다.

코드 검사

중단점이 플레이테스트 중에 경험을 일시 중지하면 관찰 창, 호출 스택 창, 출력 창스크립트 편집기를 검사하여 변수 값과 함수 실행에 대한 정보를 찾을 수 있습니다.이 정보를 사용하여 경험의 근본 원인을 찾을 수 있습니다.

관찰

관찰 창에는 두 개의 탭이 있습니다: 변수 및 내 시계. 변수 탭에는 범위에 있는 현재 변수에 대한 정보와 내 시계 탭에는 정의한 변수나 식의 값이 표시됩니다.두 탭 모두 줄이 실행되기 전에 정보를 표시합니다.

변수 에는 다음 열이 있습니다:

  • 이름 – 변수의 선언된 이름.
  • 범위 – 변수의 범위: 로컬, 전역 또는 상위 값과 같이 "보고" 액세스할 수 있는 위치입니다.
  • 값 – 변수의 현재 값.
  • 데이터 유형 – 변수의 데이터 유형.

내 시계 탭에는 다음 열이 있습니다: My Watches 탭에는 다음 열이 있습니다:

  • 식 – 관찰하려는 식입니다.
  • 값 – 식의 현재 값.
  • 데이터 유형 – 식의 데이터 유형.

변수 탭에서 필터 아이콘을 클릭하여 변수 범위를 필터링할 수 있습니다. In the 변수 탭, you can filter the scope of variables by clicking the filter icon. 열 이름을 클릭하여 정렬할 열을 정렬할 수도 있습니다.시계 창은 테이블의 확장된 및 축소된 뷰를 모두 제공합니다.

Watch Window with variable values

시계 창에서 코드를 검사하려면:

  1. 시계 창이 열려 있지 않으면 시계 탭에서 보기를 클릭합니다.

  2. 플레이테스트 세션이 중단점에서 일시 중지되면 현재 줄이 해당 스크립트의 변수 값을 변경할 것으로 예상하는 방법을 생각해보십시오.

  3. 코드를 통해 이동하면서 변수 탭에서 변수 값이 어떻게 변경되는지 지켜보세요.변수 탭에 없는 식을 보려면 내 시계 탭을 엽니다.식 열에서 빈 행을 클릭한 다음 식을 입력하십시오.스크립트 편집기에서 변수를 보려면 변수 이름을 마우스 오른쪽 버튼으로 두 번 클릭한 다음 감시 추가 를 클릭하십시오.

  4. 관찰 창에서 예상하는 변수 및 식의 값과 실제로 보는 값을 비교합니다.변수가 변경되는 방식과 실제로 변경되는 방식 사이에 차이가 있으면 변수 또는 변수와 상호작용하는 함수가 문제나 오류를 일으키고 있을 수 있습니다.

호출 스택

호출 스택 창에는 디버거가 중단점에 도달했을 때 다음에 실행될 코드 라인이 표시됩니다.호출 스택은 함수를 호출하는 라인과 다른 함수에서 함수를 호출하는 순서 및 다른 함수를 호출하는 라인을 나타냅니다.호출 스택의 상위 기능은 마지막으로 호출되고 가장 먼저 실행되는 것입니다.콜 스택을 사용하여 스크립트의 함수 호출 순서가 함수 호출의 정신 모델과 일치하는지 확인할 수 있습니다.

Call Stack in Studio

다른 스크립트에 여러 중단점이 있는 경우 플레이테스트 세션을 동시에 일시 중지할 수 있습니다.호출 스택 창에서 스크립트 이름 옆에 있는 화살표를 클릭하여 중단점으로 이동할 수 있습니다. 재시작 을 클릭하면 동시에 중지된 모든 중단점을 밟습니다.

Call Stack with multiple breakpoints

디버깅 세션 중에 호출 스택 창에서 코드를 검사하려면:

  1. 호출 스택 창이 열려 있지 않으면 보기 탭에서 호출 스택을 클릭하십시오.

  2. 경험이 중단점에서 일시 중지되면, 스크립트에서 함수 호출 순서가 어떻게 예상되는지 생각해 보십시오.

    Script Editor with two functions and one breakpoint
  3. 호출 스택은 함수 호출의 순서를 표시합니다.중단점이 함수 내에 있으면 호출 스택이 해당 함수를 호출하는 함수를 표시합니다(있는 경우).호출 스택에는 각 함수의 이름과 줄 번호도 표시됩니다.점프할 함수를 위해 행을 클릭하십시오.

    Click in Call Stack to jump to line
  4. 2단계에서 생각한 함수 호출 순서와 3단계의 실제 순서를 비교합니다.차이가 있으면 코드가 예상대로 동작하는 방법과 실제로 동작하는 방법 사이에 차이가 있으므로 잠재적인 문제와 오류가 발생합니다.

출력

출력 탭에서 액세스할 수 있는 출력 창은 스크립트 실행에서 캡처된 오류, Roblox 엔진의 메시지, 요청에 대한 메시지, 요청에 대한 오류 및 요청에 대한 오류를 표시합니다.

스크립트 편집기

디버거는 스크립트 편집기와 통합됩니다.스크립트의 중단점에서 경험이 일시 중지되면 변수 이름 위로 마우스를 이동하여 값을 확인할 수 있습니다.예를 들어, 함수 호출에서 인수로 전달하는 테이블의 값을 볼 수 있습니다.

Mouseover a variable in Script Editor to show value

중단점 구성

특정 조건이 충족되면 중단점을 구성하여 메시지를 출력 창에 인쇄하고 클라이언트나 서버에서만 실행할 수 있습니다.또한 이러한 구성을 함께 믹스하여 디버깅 요구에 가장 적합하게 사용할 수 있습니다.

중단점 편집

플레이테스트 세션 중에도 언제든지 중단점의 구성을 편집할 수 있습니다.플레이테스트 세션 중에 중단점을 편집하면 편집은 완료한 후에도 유지됩니다.플레이테스트 세션을 일시 중지하고 있는 중단점도 편집할 수 있지만, 변경 사항은 다음 플레이테스트 세션까지 적용되지 않습니다.

중단점 구성을 편집하려면:

  1. 중단점을 마우스 오른쪽 버튼으로 클릭한 다음 중단점 편집 을 클릭합니다.

    Right click to edit a breakpoint in Studio
  2. 중단점 편집 창에서 원하는 대로 중단점을 구성하십시오.

    Edit Breakpoint window in Studio

조건, 로그 메시지 및 옵션

각 중단점에 대해 조건 , 로그 메시지 , 실행 계속 , 컨텍스트 를 설정할 수 있습니다.

조건 은 중단점이 활성화되는지 여부를 결정하는 식입니다. 조건은 선택적입니다.조건이 비어 있으면 중단점이 항상 활성화됩니다.조건이 존재하면 조건이 참이면 중단점만 활성화됩니다.예를 들어, 변수가 와 같은 경우에만 중단점이 활성화되도록 하려면 조건을 로 설정합니다.조건은 특정 변수에 특정 값이 있거나 루프에서 특정 실행만 중단하려는 경우 함수가 어떻게 실행되는지 디버깅하는 데 유용합니다. 로그 메시지 는 조건이 참일 때 출력 창에 인쇄되는 식입니다.The log message is the expression that prints to the output window when the condition is true.로그 메시지의 형식은 print() 문 인수와 동일합니다.예를 들어, LogMessage를 "The value of n:", n로 설정하여 동일한 메시지를 print("The value of n:", n)과 같이 인쇄합니다.프린트 문과 달리 실행을 중지할 필요 없이 로그 메시지를 추가하고 제거할 수 있습니다. 실행 계속 옵션은 활성화되면 중단점이 스크립트를 일시 중지하는지 여부를 결정합니다.실행을 중단하지 않고 변수나 식의 값을 로깅하려는 경우 유용합니다.이 옵션은 기본적으로 비활성화됩니다.

중단점의 컨텍스트 는 중단점이 클라이언트, 서버 또는 편집에서 활성화되어야 하는지 여부를 결정합니다.컨텍스트가 클라이언트이면 클라이언트 사이드 스크립트에서 중단점이 트리거됩니다.컨텍스트가 서버이면 서버 사이드 스크립트에서 중단점이 트리거됩니다.컨텍스트가 편집이면 플러그인을 디버그할 때 중단점이 트리거됩니다.사용자 지정 컨텍스트를 클릭하면 창에 현재 컨텍스트가 표시됩니다.

Edit Breakpoint Window shows Custom Context

조건부 중단점과 로그점

Studio는 중단점 삽입을 더 빠르게 하기 위해 명명된 중단점 변형을 제공합니다.명명된 변형을 삽입하려면 줄 번호 오른쪽의 여백을 마우스 오른쪽 버튼으로 클릭한 다음 삽입하려는 변형을 클릭하십시오.

Right click to insert a breakpoint

A 조건부 중단점은 조건과 계속 실행이 비활성화된 중단점입니다.조건부 중단점은 조건이 참이면 스크립트를 일시 중지하지만, 특정 변수에 특정 값이 있을 때 함수가 어떻게 실행되는지 디버깅하는 데 유용합니다.조건부 중단점은 줄이 실행되기 전에 변수 값을 사용합니다.조건부 중단점을 삽입하면 커서가 빠르게 설정할 수 있는 조건 옵션에 집중됩니다.

A 로그포인트로그 메시지계속 실행 이 활성화된 중단점입니다.스크립트를 일시 중지하지 않고 로그포인트가 로그 메시지를 출력 창에 기록하여 변수 값 디버깅에 유용합니다.로그포인트는 줄이 실행되기 전에 변수 값을 사용합니다.로그포인트를 삽입하면 커서가 빠르게 설정할 수 있도록 로그 메시지 에 집중합니다.

중단점 비활성화

중단점을 비활성화하고 다시 활성화하는 방법은 많이 있습니다:

  • 중단점의 아이콘을 클릭하십시오.
  • 중단점을 편집하고 활성화된 확인란을 토글합니다.
  • 중단점 아이콘을 마우스 오른쪽 버튼으로 클릭하고 중단점 비활성화 또는 중단점 활성화를 클릭합니다.

중단점 삭제

중단점을 삭제하려면 아이콘을 중간 클릭합니다. 또한 아이콘을 마우스 오른쪽 버튼으로 클릭하고 중단점 삭제 를 클릭할 수도 있습니다.

중단점 창

중단점 창에는 경험의 모든 중단점이 표시됩니다.중단점 창을 열려면 Studio의 맨 위 보기 탭을 클릭한 다음 중단점을 클릭하십시오.

Breakpoints window in Studio

중단점 창에는 다음 열이 있습니다: 레이블이 없는, 스크립트, 라인, 소스 라인, 조건, 로그 메시지, 그리고 실행 계속.라벨이 없는 스크립트 및 라인 열은 항상 표시되지만, 창의 오른쪽 상단 3점 부분을 클릭하여 다른 열을 전환할 수 있습니다.

레이블이 없는 열에서 (x3) 레이블은 동일한 코드 라인의 중단점 수를 나타내고 아이콘은 중단점 구성을 나타냅니다.동일한 라인의 중단점은 동일한 조건, 로그 메시지 및 계속 실행을 공유하지만 컨텍스트가 다릅니다.중단점 창에서 중단점의 구성을 편집할 수 있습니다.예를 들어, 중단점의 조건을 편집하여 조건 열에 있는 텍스트 영역을 편집할 수 있습니다.

Edit the Condition of a Breakpoint in the Breakpoints Window

사용 가능 여부 열에서 중단점 아이콘을 클릭하여 중단점을 활성화하고 비활성화할 수 있습니다.또한 다음 버튼을 클릭하여 일부 또는 전체 중단점을 활성화, 비활성화 및 삭제할 수 있습니다.

버튼액션
Button to disable all breakpoints모든 중단점을 비활성화합니다. 중단점이 비활성화되면 모두 활성화합니다.
Button to delete all breakpoints모든 중단점을 삭제합니다.

중단점 아이콘

중단점의 아이콘은 활성화되었는지, 조건이 있는지, 로그 메시지가 있는지에 따라 달라집니다.중단점에 로그 메시지가 있으면 조건이 있는지 여부에 관계없이 로그 포인트로 표시됩니다.

이름아이콘활성화조건로그 메시지
중단점아니요아니요
아니요아니요아니요
조건부 중단점아니요
아니요아니요
로그포인트아마도
아니요아마도

추가 디버깅 도구

디버거 외에도 Studio는 경험에서 문제와 오류를 해결할 수 있는 추가 디버깅 도구를 제공합니다.

명령 바

명령 모음 을 통해 경험이 실행되는 동안 Luau 명령을 실행할 수 있습니다.Studio의 보기 탭과 개발자 콘솔에서 사용할 수 있습니다.

개발자 콘솔

개발자 콘솔 은 클라이언트 및 서버 출력, 메모리 사용, 네트워크 이행등 다양한 세부 정보를 제공합니다. 경험을 테스트하거나 플레이하는 동안 개발자 콘솔을 열려면 /console를 채팅에 입력하거나 F9를 누르십시오.자세한 내용은 개발자 콘솔을 참조하십시오.

로그 파일

스크립트가 Studio 또는 플레이어 앱에서 인쇄하거나 오류가 발생하면 앱은 로컬 파일 시스템의 로그 파일에 메시지를 기록합니다.운영 체제에 따라 이러한 파일은 다른 위치에 있습니다.

창문

Windows에서 로그 파일에 액세스하려면:

  1. Open 파일 탐색기 .
  2. %LOCALAPPDATA%\Roblox\logs 디렉터리로 이동합니다.
  3. 로그를 두 번 클릭하여 열립니다. 동일한 XXXXX 값을 가진 로그는 동일한 Studio 세션에서 나옵니다.

Mac에서 로그 파일에 액세스하려면:

  1. Open 파인더 .
  2. 메뉴 바에서 이동 > 폴더로 이동... 을 선택합니다.
  3. 대화 상자에 ~/Library/Logs/Roblox를 입력하십시오.
  4. 결과를 두 번 클릭하여 Roblox 로그 디렉터리로 이동합니다.
  5. 디렉터리 내에서 로그를 두 번 클릭하여 열립니다.

아이OS

Mac 또는 iOS 기기사용하여 iOS 로그를 수집할 수 있습니다.

Mac에서 iOS 로그 파일에 액세스하려면:

  1. iOS 장치를 Mac에 연결합니다.
  2. Open 파인더 .
  3. 유틸리티 로 이동하고 콘솔 응용 프로그램을 엽니다.
  4. 콘솔 응용 프로그램에서 실시간 로그를 채우려면 사이드바에서 iOS 장치를 선택하고 시작 버튼을 클릭하고 iOS 기기문제를 재현하십시오.
  5. 콘솔 응용 프로그램에서 보관된 로그를 채우려면 sudo log collect --device-name "[iOS Device Name]"에서 를 실행하십시오.기기이름에 아포스트로피가 없는지 확인하거나 명령을 실행할 때 오류가 발생할 수 있습니다.

안드로이드

Android에서 로그 파일에 액세스하려면:

  1. 설정 으로 이동 > 시스템 으로 > 개발자 옵션 으로 .
  2. 개발자 옵션을 토글합니다 .
  3. 컴퓨터에서 Android Studio를 다운로드하고 설치하십시오.
  4. Android Studio에서 로그캣 을 클릭합니다.
  5. 로그캣에 로그를 자동으로 채우려면 안드로이드 장치를 컴퓨터에 연결하세요.