Studio는 통합 개발 환경(IDE)에서 종종 사용되는 많은 디버깅 도구를 제공합니다. 이 도구는 스크립트 실행 시 오류를 해결하고 검사 라인을 줄 번호별로 검사하는 데 도움이 됩니다. 디버깅 정보는 시계, 호출 스택, 중단점
일반 워크플로
경험에서 문제를 발견하거나 내가 원하는 대로 작동하는지 확인하려면 코드와 관련된 디버그 세부 정보를 다음과 같이 확인할 수 있습니다.
코드 줄에 중지점 삽입 하려는 코드에 대해 중지점을 삽입합니다.
In the 스크립트 tab, click 플레이 또는 실행 in the test tab to start a playtest 세션, also known as a debugging 세션.
스크립트가 중단점에 도달하면 플레이테스트 세션이 일시 중지됩니다. 코드를 단계별로 검토합니다. 시계 , 콜 스택 및 출력 창을 검查하여 문제를 진단하고 해결하십시오.
In the 스크립트 tab, click 정지 to end the debugging 세션.
이전 단계를 반복하여 문제를 해결하거나 근본 원인을 찾을 때까지 해결하십시오. 일반적인 워크플로우를 배우면서 특정 조건이 충족된 경우에만 중단점을 구성하여 출력 창에 메시지를 印記하고 클라이언트 또는 서버에서만 실행할 수 있습니다. 자세한 내용은 중단점
중지점 삽입
중지점은 스크립트 실행을 특정 줄에서 중지하거나 "중지"하는 검사 포인트입니다. 중지 점을 사용하여 경험을 검사하고 디버깅하고, 보기 변수를 검사하고, 호출 스택을 검사할 수 있습니다. 중지 점은 코드디버깅하
코드 줄에 표준 중지점을 삽입하려면 코드 줄 오른쪽 모서리에 마우스 왼쪽 버튼을 클릭하십시오. 또한 마우스 왼쪽 버튼을 클릭하여 중지점 삽입을 클릭할 수 있습니다. 중지점은 빨간색 도트로 표시됩니다. 중지점을 비활성화하려면 도트를 클릭하십시오.
코드를 단계별로 검토
스크립트의 줄에 중지점을 삽입하면 스크립트가 해당 줄을 실행하기 전에 중지됩니다. 이 중지점에 대한 노란색 화살표가 있으면 "디버거"라는 이름의 코드 줄이 다음으로 실행됩니다.
스크립트가 중지되면 스크립트 탭에서 버튼을 통해 줄 단위로 실행하십시오. 버튼은 또한 호출 스택 창의 왼쪽 상단 모서리에 나타납니다. 코드를 실행하는 동안 경험이 어떻게 변경되는지 모니터링하십시오.
다음 표에서는 코드를 단계별로 검토하는 세 가지 방법을 요약합니다. 중지점에 도달한 후 코드를 계속 실행하려면 스크립트 탭에서 재시작을 클릭하십시오.
버튼 | 액션 | 바로가기 | 설명 |
---|---|---|---|
들어가기 위해서는 | F11 | 버튼을 클릭하면 디버거가 현재 줄의 함수 코드로 이동합니다. 현재 줄에 함수가 없으면 디버거가 다음 줄로 이동합니다. | |
뛰어넘기 | F10 | 디버거를 다음 코드 줄로 이동하는 단계 뛰기 버튼은 함수로 이동하지 않습니다. | |
나가기 | ShiftF11 | 단계 밖으로 버튼은 디버거를 현재 함수 밖으로 이동하고 함수 호출 후 다음 코드 행으로 이동합니다. 현재 행이 함수 내에 있지 않으면 디버거가 다음 행으로 이동합니다. |
코드 검사
플레이테스트 중에 중지점이 경험을 일시 중지하면 시계 창, 콜 스택 창, 출력 창 및 1>스크립트 편집기1>를 검사하여 변수 값 및 함수 실행에 대한 정보를 찾을 수 있습니다. 이 정보로 문제의 근본 원인을
시계 창
시계 창에는 두 개의 탭이 있습니다: 변수 및 내 시계. 변수 탭은 범위 변수에 대한 현재 변수를 표시하고 2>내 시계2> 탭은 정의한 변수 또는 식의 값을 표시합니다. 두 탭 모두 줄이
변수 탭에는 다음과 같은 열이 있습니다.
- 이름 – 변수의 선언된 이름입니다.
- 범위 – 변수의 범위: 로컬, 글로벌 또는 업값과 같이 액세스할 수 있는 곳.
- 값 – 변수의 현재 값입니다.
- 데이터 형식 – 변수의 데이터 형식.
내 시계 탭에는 다음과 같은 열이 있습니다.
- 식 – 당신이 시계를 원하는 식입니다.
- 값 – 식의 현재 값입니다.
- 데이터 형식 – 식의 데이터 형식입니다.
In the 변수 tab, you can filter the scope of variables by clicking the filter 아이콘. You can also sort the rows by clicking the name of the column to sort by. The watch window provides both expanded and collapsed 보기를 제공합니다.
시계 창에서 코드를 검사하려면:
시계 창이 열리지 않으면 시계를 클릭하십시오 보기 탭에서.
플레이테스트 세션이 중단점에서 일시 중지되면 해당 스크립트의 현재 줄이 변수의 값을 변경하는 방법에 대해 생각하십시오.
코드를 단계별로 검토하면서 변수의 값이 변수 탭에서 어떻게 변경되는지 확인하십시오. 식이 아닌 탭에서 식을 보려면 내 시계 탭을 엽니다. 식 열에 빈 행을 클릭한 다음 추
시계 창에서 변수 및 식의 값을 비교하십시오. 변수를 예상대로 변경하는지 여부와 시계 창에서 실제로 변경하는 방법에 대한 차이가 있으면 변수 또는 함수와 상호 작용하는 함수에서 문제나 버그가 발생할 수 있습니다.
스택 창 호출
Call Stack 창에는 디버거가 중단점에 도달했을 때 실행할 코드의 순위가 표시됩니다. 코드 스택은 디버거가 중단점에 도달했을 때 호출할 코드의 순위를 나타내고, 다른 코드에서 호출하는 경우 함수 호출의 순위와 호출하
다른 스크립트에 여러 개의 중단점이 있으면 플레이테스트 세션을 동시에 중지할 수 있습니다. 스크립트 이름 옆에 있는 화살표를 클릭하여 중단점으로 점프할 수 있습니다. 재시작 을 클릭하면 중단점이 중지된 모든 중단점을 뛰어넘습니다.
디버깅 세션 중에 Call Stack 창에서 코드를 검사하려면:
콜 스택 창이 열리지 않으면 보기 탭에서 콜 스택 을 클릭하십시오.
경험이 중지점에서 중지되면 함수 호출의 순서가 해당 스크립트에 있길 바라는 방법을 생각하십시오.
콜 스택은 함수 호출의 순서를 표시합니다. 중지점이 함수 내에 있으면 콜 스택은 해당 함수를 호출하는 함수의 순서를 표시합니다, 있으면. 콜 스택은 또한 각 함수의 이름과 라인 번호를 표시합니다. 행에 대해 함수를 점프하려면 행을 클릭하십시오.
2단계에서 생각한 함수 호출 순서와 3단계에서 실제 순서를 비교하십시오. 차이가 있으면 코드가 예상대로 작동하는지 여부와 실제 작동 순서 사이에 차이가 있습니다. 이렇게 하면 코드가 문제를 일으킬 수 있는 잠재적 문제와 버그를 일으킬 수 있습니다.
출력 창
출력 창, 보기 탭에서 액세스할 수 있는, 스크립트 실행, Roblox 엔진, 로그 메시지, 전화 호출에 대한 오류를 캡처한 오류를 표시합니다.The 출력 window, accessible from the print() tab, displays errors caught from running scripts, messages from Roblox Engine, log messages, messages from calls to 1>print()1> , and errors from calls to 4>warn</
스크립트 편집기
디버거는 스크립트 편집기와 통합됩니다. 스크립트의 중지점에서 경험이 중지되면 마우스를 변수 이름 위로 마우스를 이동하여 값을 확인할 수 있습니다. 예를 들어, 함수 호출에 대한 인수로 표시되는 테이블의 값을 확인할 수 있습니다.
중단점 구성
특정 조건을 충족하면 중단점을 구성하여 출력 창에 메시지를 표시하고 클라이언트 또는 서버에서만 실행할 수 있습니다. 이 구성을 믹스하여 디버깅 요구 사항에 가장 적합한 구성을 선택할 수도 있습니다.
휴식 시간 편집
플레이테스트 세션 중에도 중지점의 구성을 편집할 수 있습니다. 플레이테스트 세션 중에 중지점을 편집하면 편집은 완료된 후에도 적용되지 않습니다. 또한, 플레이테스트 세션 중에 중지점이 활성으로 중지하는 경우 변경 사항은 다음 플레이테스트 세션에 적용되지 않습니다.
휴식 시점의 구성을 편집하려면:
브레이크포인트를 마우스 오른쪽 버튼으로 클릭한 다음 브레이크포인트 편집 을 클릭하십시오.
In the 편집 중지점 window, configure the breakpoint as you want.
조건, 로그 메시지 및 옵션
각 중단점에 대해 조건, 로그 메시지, 계속하기 실행 및 2>컨텍스트2>를 설정할 수 있습니다.
조건은 중단점이 활성화되는지 여부를 결정하는 식입니다. 조건은 선택적입니다. 조건이 없으면 중단점이 항상 활성화됩니다. 조건이 있으면
출력 창에 조건이 해당하면 출력하는 로그 메시지는 식입니다. 로그 메시지의 형식은 print() 문의 인수와 동일합니다. 예를 들어, print() 문의 로그 메시지를 동일한 메시지로 출력하려
중단점이 활성화되면 스크립트를 중지하는지 여부를 결정하는 연속 실행 옵션 . 이 옵션은 실행을 중지하지 않고 변수 또는 식의 값을 로깅하려는 경우 유용합니다. 이 옵션은 기본적으로 비활성화되어 있습니다.
중단점의 컨텍스트 는 클라이언트, 서버 또는 편집에서 중단점을 활성화할지 여부를 결정합니다. 컨텍스트가 클라이언트인 경우 중단점이 클라이언트 사이 스크립트에서 트리거됩니다. 컨텍스트가 서버인 경우 중단점이 서버 사이 스크립
조건부 중단점 및 로그포인트
Studio는 브레이크포인트 삽입을 더 빠르게 하기 위해 브레이크포인트 이름을 가진 변형을 제공합니다. 브레이크포인트 이름을 입력하려면 라인 번호 오른쪽 모서리에 마우스 오른쪽 버튼을 클릭한 다음 브레이크포인트를 삽입하려는 변형을 클릭하십시오.
조건부 중단점은 조건을 가진 중단점과 계속된 실행 을 비활성화한 중단점입니다. 조건부 중단점은 조건이 트루인 경우에만 스크립트를 일시 중지하므로 디버깅 작업을 수행할 때
로그포인트는 중지하지 않고 스크립트를 실행하도록 설정된 중지점에 로그메시지를 표시하고 계속 실행하는 기능을 활용합니다. 로그포인트는 스크립트를 중지하지 않고 출력 창에 로그메시지를 로그메시지를 로그메시
로그포인트는 종종 활성 플레이테스트 세션을 중지하거나 다시 시작할 필요 없이 출력 창에 메시지를 로그할 수 있기 때문에 메시지를 보다 효율적으로 디버깅하는 데 유용합니다. print() 문에 비해 디버깅하는 데 더 쉽고 코드를 더 클린하게 유지하
중단점 비활성화
중단점을 비활성화하고 다시 활성화하는 방법은 여러 가지가 있습니다.
- 중지점의 아이콘을 클릭하십시오.
- 끊김 시점을 편집하고 켜기 확인란을 토글합니다.
- 브레이크포인트 아이콘을 마우스 오른쪽 버튼으로 클릭하고 브레이크포인트 비활성화 또는 브레이크포인트 활성화를 클릭하십시오.
중지점 삭제
중간 클릭하여 브레이크포인트를 삭제하십시오. 브레이크포인트 아이콘을 마우스 오른쪽 버튼으로 클릭하고 브레이크포인트 삭제 를 클릭하십시오.
브레이크포인트 창
Breakpoints 창에는 경험에 있는 모든 중단점이 표시됩니다. Breakpoints 창을 열려면 Studio 상단의 보기 탭을 클릭한 다음 중단점을 클릭하십시오.
중지점 창에는 다음과 같은 열이 있습니다: unlabeled, Script, Line, Source Line, Condition, Log Message 및 Continue Execution. 중지점 열이 항상 표시되지만, 다른 열을 변경하려면 창의 오른쪽 상단 모서리에 있는 세 개의 도트를 클릭하십시오.
레이블이 없는 열에서 (x3) 레이블은 동일한 코드 행에 있는 중단점 수를 나타내고 아이콘은 중단점 구성을 나타냅니다. 중단점 행에는 동일한 조건, 로그 메시지 및 계속 실행을 나타내지만 컨텍스트는 다릅니다. 브레이크포인트 창
콜럼에 있는 브레이크포인트 아이콘을 클릭하여 브레이크포인트를 활성화하고 비활성화할 수 있습니다. 또한 다음 버튼을 클릭하여 일부 또는 모든 브레이크포인트를 활성화하고 비활성화할 수 있습니다.
버튼 | 액션 |
---|---|
모든 중단점을 비활성화합니다. 중단점이 비활성화되면 모두 활성화합니다. | |
모든 중단점을 삭제합니다. |
브레이크포인트 아이콘
중지점의 아이콘은 활성화되었는지, 조건이 있는지 및 로그 메시지가 있는지에 따라 달라집니다. 중지점에 로그 메시지가 있는 경우, 조건이 있는지 여부에 관계없이 로그포인트로 표시됩니다.
이름 | 아이콘 | 사용자 설정 | 조건 | 로그 메시지 |
---|---|---|---|---|
중단점 | 예 | 아니요 | 아니요 | |
아니요 | 아니요 | 아니요 | ||
조건부 중지점 | 예 | 예 | 아니요 | |
아니요 | 예 | 아니요 | ||
로그포인트 | 예 | 아마 | 예 | |
아니요 | 아마 | 예 |
추가 디버깅 도구
디버거 외에도 Studio는 문제 및 버그를 수정할 수 있는 추가 디버링 도구를 제공합니다.
명령 표시줄
명령 바는 경험이 실행되는 동안 Luau 명령을 실행할 수 있습니다. Studio의 보기 탭에서 사용할 수 있으며 개발자 콘솔에서도 사용할 수 있습니다.
개발자 콘솔
클라이언트 및 서버 출력, 메모리 사용, 네트워크 이행등을 포함한 다양한 세부 정보를 제공합니다. 경험을 테스트하거나 플레이하는 동안 개발자 콘솔을 열려면 채팅에 /console를 입력하거나 F9를 누르십시오. 자세
로그 파일
스크립트가 Studio 또는 Player 앱에서 오류를 표시하거나 인쇄하거나 하면 앱은 로그 파일에 메시지를 기록합니다. 이 파일은 운영 체제에 따라 다른 위치에 있습니다.
Windows
Windows에서 로그 파일에 액세스하려면:
- 파일 탐색기를 엽니다. 파일 탐색기 2. Navigate to the %LOCALAPPDATA%\Roblox\logs 디렉터리.
- 로그를 두 번 클릭하여 로그를 열립니다. 동일한 XXXXX 값의 로그는 동일한 Studio 세션에서 나옵니다.
Mac
Mac에서 로그 파일에 액세스하려면:
- Open 탐색기 .
- In the menu bar, select 이동 ⟩ 폴더로 이동... .
- 대화 상자에 ~/Library/Logs/Roblox 를 입력하십시오.
- 결과를 두 번 클릭하여 Roblox 로그 디렉터리로 이동합니다.
- 디렉터리 내에서 로그를 두 번 클릭하여 엽니다.
iOS
Mac 또는 iOS 기기사용하여 iOS 로그를 수집할 수 있습니다.
Mac에서 iOS 로그 파일에 액세스하려면:
- Mac에 iOS 장치를 연결하십시오.
- Open 탐색기 .
- 유틸리티로 이동하고 콘솔 응용 프로그램을 엽니다.
- 콘솔 응용 프로그램에서 실시간 로그를 채우려면 사이드바에서 iOS 장치를 선택하고 시작 버튼을 클릭하고 iOS 기기문제를 재현하십시오.
- 콘솔 응용 프로그램에서 보관된 로그를 채우려면 sudo log collect --device-name "[iOS Device Name]" 을 터미널 에서 실행하십시오. 기기이름에 따옴표가 없는지 확인하십시오. 명령을 실행하는 경우 오류가 발생할 수 있습니다.
안드로이드
Android에서 로그 파일에 액세스하려면:
- 설정으로 이동 ↳ 시스템 ↳ 개발자 옵션 으로.
- Toggle 개발자 옵션 on.
- 컴퓨터에서 Android Studio를 다운로드하고 설치하십시오.
- In Android Studio, click Logcat .
- Android 장치를 컴퓨터에 연결하여 Logcat에 로그로 자동으로 채우십시오.