디버깅

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

Studio는 통합 개발 환경(IDE)에서 일반적으로 발견되는 많은 디버깅 도구와 워크플로를 제공합니다. 이러한 도구는 스크립트가 실행되는 동안 오류를 검사하고 해결하는 데 도움을 줍니다.

중단점 디버깅

중단점은 특정 줄에서 스크립트의 실행을 일시 중지하거나 "중단"하는 체크포인트입니다. 이 일시 중지를 사용하여 게임을 검사하고 디버깅하며, 변수 감시호출 스택을 검사할 수 있습니다. 중단점은 함수 디버깅의 가장 효과적인 방법 중 하나이므로 가장 중요한 디버깅 도구 중 하나입니다.

관리

스크립트 편집기에서 여러 유형의 중단점을 삽입하고 언제든지 중단점의 구성을 편집할 수 있습니다. 플레이 테스트 세션 중에도 가능합니다. 플레이 테스트 세션 중에 중단점을 편집하면 세션이 끝난 후에도 편집 내용이 유지됩니다. 현재 플레이 테스트 세션을 일시 중지하고 있는 중단점도 편집할 수 있지만, 변경 사항은 다음 플레이 테스트 세션까지 적용되지 않습니다.

삽입

중단점은 여러 변형을 가지며 실행 가능한 코드의 모든 줄에 삽입할 수 있습니다:

코드의 줄에 표준 중단점을 삽입하려면 해당 줄 번호의 오른쪽 여백을 클릭합니다. 또는 여백에서 마우스 오른쪽 버튼을 클릭하고 중단점 삽입을 선택합니다. 중단점 아이콘은 빨간 원으로 표시됩니다.

스크립트 여백에 표시된 표준 중단점

비활성화

중단점을 삭제하지 않고 일시적으로 비활성화하려면 다음 워크플로 중 하나를 사용합니다:

  • 중단점 아이콘을 클릭합니다.
  • 중단점 아이콘을 마우스 오른쪽 버튼으로 클릭하고 중단점 비활성화를 선택합니다.
  • 중단점을 편집하고 활성화됨 체크박스를 전환합니다.

비활성화된 중단점은 활성화된 아이콘의 빈 버전으로 표시됩니다. 예를 들어 비활성화된 표준 중단점은 빈 원으로, 비활성화된 로그포인트는 빈 다이아몬드로 표시됩니다.

스크립트 여백에 표시된 비활성화된 표준 중단점
비활성화된 표준 중단점
스크립트 여백에 표시된 비활성화된 로그포인트
비활성화된 로그포인트

삭제

중단점을 삭제하려면 아이콘을 중간 클릭하거나 아이콘을 마우스 오른쪽 버튼으로 클릭하고 중단점 삭제를 선택합니다.

편집

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

중단점을 편집하려면:

  1. 중단점 아이콘을 마우스 오른쪽 버튼으로 클릭하고 중단점 편집을 선택합니다.

  2. 중단점 편집 창에서 원하는 대로 중단점을 구성합니다. 이러한 구성을 혼합하여 디버깅 요구에 가장 적합하게 조정할 수 있습니다.

    옵션설명
    조건중단점이 활성화되는지 여부를 결정하는 선택적 표현식입니다. 조건이 비어 있으면 중단점은 항상 활성화됩니다. 조건이 존재하면 중단점은 조건부 중단점으로 변환되며 조건이 참일 때만 활성화됩니다. 예를 들어, 변수가 var10일 때만 중단점이 활성화되도록 하려면 조건을 var == 10으로 설정합니다.
    로그 메시지중단점이 발생할 때 출력 창에 인쇄되는 표현식입니다. 로그 메시지의 형식은 print() 문과 동일합니다. 예를 들어, 로그 메시지를 "var의 값:", var로 설정하면 print("var의 값:", var)와 동일한 메시지가 출력됩니다.
    실행 계속중단점이 활성화되면 스크립트를 일시 중지할지 여부를 결정합니다. 이 옵션은 삽입된 중단점이 로그포인트인 경우를 제외하고 기본적으로 비활성화되어 있습니다.
    히트 시 중단점 제거체크하면 중단점이 첫 번째 플레이 테스트 세션 후에 자동으로 제거되어 사실상 임시 중단점이 됩니다.
    트리거 위치중단점의 컨텍스트클라이언트(클라이언트 측 스크립트), 서버(서버 측 스크립트) 또는 편집(디버깅 플러그인 스크립트)에서 활성화되어야 하는지를 결정합니다. 사용자 정의 컨텍스트를 선택하면 현재 트리거 컨텍스트가 표시됩니다.

워크플로

중단점 디버깅의 일반적인 워크플로는 다음과 같습니다:

  1. 디버깅할 스크립트를 열고 검사하려는 코드 줄에 중단점을 삽입합니다.

  2. Studio의 메자닌에서 플레이 테스트 시작하여 디버깅을 시작합니다.

    Studio의 메자닌에서 테스트 옵션이 표시됩니다.
  3. 스크립트가 중단점에 도달하면 플레이 테스트 세션이 일시 중지됩니다. 중단점이 구성되어 실행을 계속하도록 설정되지 않은 경우입니다. 중단점 위의 노란색 화살표는 다음에 실행될 코드 줄을 나타냅니다.

    디버거에서 활성 중단점이 노란색 화살표로 표시됨
  4. 스크립트가 일시 중지되면 중단점 창, 감시 창, 호출 스택 창, 출력 창 및 스크립트 편집기를 검사하여 변수 값 및 함수 실행에 대한 정보를 찾습니다.

  5. 중단점에 도달한 후 코드를 계속 실행하려면 메자닌에서 스크립트 계속을 클릭합니다.

    Studio의 메자닌에서 스크립트 계속 버튼이 표시됩니다.

    메자닌의 스텝 버튼을 사용하여 코드를 한 줄씩 실행할 수도 있습니다:

    Studio의 메자닌에서 중단점 스텝 버튼이 표시됩니다.
    작업단축키설명
    스텝 인F11스텝 인 버튼은 디버거를 현재 줄의 함수 코드로 이동시킵니다. 현재 줄에 함수가 없으면 디버거는 다음 줄로 이동합니다.
    스텝 오버F10스텝 오버 버튼은 디버거를 다음 코드 줄로 이동시키며, 함수 내부로는 이동하지 않습니다.
    스텝 아웃ShiftF11스텝 아웃 버튼은 디버거를 현재 함수에서 나가게 하고 함수 호출 후 다음 코드 줄로 이동합니다. 현재 줄이 함수 내부가 아닐 경우 디버거는 다음 줄로 이동합니다.
  6. 현재 세션의 디버깅이 끝나면 중지 버튼을 클릭합니다.

    Studio의 메자닌에서 중지 버튼이 표시됩니다.

모니터링

Studio는 디버깅하는 동안 변수 값 및 함수 실행을 모니터링하기 위한 여러 창과 도구를 포함합니다. 이 정보를 통해 스크립트의 대부분 문제의 근본 원인을 찾을 수 있습니다.

Studio의 툴바에서 중단점 버튼이 표시됩니다.

중단점

중단점 창은 모든 스크립트 내의 모든 중단점을 보여주는 통합 뷰입니다. 이를 열려면 Studio의 스크립트 탭 툴바에서 중단점을 클릭하거나  ⟩ 디버그 메뉴로 이동하여 중단점을 활성화합니다.

창에서는 스크립트 열이 항상 표시되며, 오른쪽 상단 모서리의 메뉴를 통해 다른 구성 열을 켜거나 끌 수 있습니다. 스크립트 열 내에서 중단점을 마우스 오른쪽 버튼으로 클릭하면 편집, 비활성화/활성화, 삭제 또는 스크립트 내에서 중단점의 줄로 점프하는 옵션 메뉴가 표시됩니다.

Studio의 중단점 창

디버깅 세션 중에는 가장 왼쪽 열에 **(x3)**가 표시되어 중단점의 여러 컨텍스트(클라이언트, 서버, 편집)를 나타냅니다. 중단점의 브랜치를 확장하면 특정 컨텍스트에 대해 비활성화/활성화할 수 있는 아이콘을 클릭할 수 있습니다. 예를 들어, 클라이언트 컨텍스트에서만 중단점을 비활성화하고 서버 컨텍스트에서는 활성화된 상태로 유지할 수 있습니다.

컨텍스트를 표시하기 위해 확장된 중단점

호출 스택

호출 스택 창은 Studio의 스크립트 탭 툴바 또는  ⟩ 디버그 메뉴에서 접근할 수 있으며, 디버거가 중단점에 도달했을 때 다음에 실행될 코드 줄을 보여줍니다. 다른 함수에서 함수를 호출하는 경우, 해당 함수가 호출된 줄을 나타내어 실제 호출 흐름이 예상 흐름과 일치하는지 확인할 수 있습니다.

스크립트의 호출 스택 흐름 호출 스택 창의 호출 스택 흐름

스크립트가 중단점에서 일시 중지되면, 워크플로에서 설명한 대로 메자닌의 스텝 버튼을 사용하여 함수/줄로 스텝 인, 스텝 오버 또는 스텝 아웃할 수 있습니다.

Studio의 메자닌에서 중단점 스텝 버튼이 표시됩니다.

감시

감시 창은 Studio의 스크립트 탭 툴바 또는  ⟩ 디버그 메뉴에서 접근할 수 있으며, 중단점을 스텝할 때 변수 및 표현식 값을 적극적으로 감시할 수 있습니다.

변수 탭은 스코프 내의 현재 변수에 대한 정보를 보여주며, 창의 상단 바에서 모든 스코프 버튼을 클릭하여 필터링할 수 있습니다. 브랜치를 확장하면 해당 변수 또는 인스턴스의 멤버와 그 값이 표시됩니다. 또한 스크립트 편집기에서 변수를 더블 클릭하여 강조 표시한 후 마우스 오른쪽 버튼을 클릭하고 팝업 메뉴에서 감시 추가를 선택하여 변수를 감시할 수 있습니다.

스크립트 내에서 감시할 변수감시 창의 변수 정보

스크립트 편집기

디버거는 스크립트 편집기와 통합되어 있습니다. 게임이 스크립트의 중단점에서 일시 중지되면 변수 이름 위에 마우스를 올려 값을 확인할 수 있습니다. 예를 들어, 테이블의 구성과 그 안에 포함된 키/값을 확인할 수 있습니다.

스크립트 편집기에서 변수 위에 마우스를 올려 값을 표시

추가 디버깅 도구

디버거 외에도 Studio는 게임의 문제와 버그를 수정하기 위한 추가 디버깅 도구를 제공합니다.

명령줄

명령줄은 게임이 실행되는 동안 Luau 명령을 실행할 수 있게 해줍니다. Studio의  ⟩ 스크립트 메뉴와 개발자 콘솔에서 사용할 수 있습니다.

개발자 콘솔

개발자 콘솔은 클라이언트 및 서버 출력, 메모리 사용량, 네트워크 성능 등 다양한 세부 정보를 제공합니다. 게임을 테스트하거나 플레이하는 동안 콘솔을 열려면 채팅에 /console을 입력하거나 F9를 누릅니다.

로그 파일

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

Windows

Windows에서 로그 파일에 접근하려면:

  1. 파일 탐색기를 엽니다.
  2. %LOCALAPPDATA%\Roblox\logs 디렉토리로 이동합니다.
  3. 로그를 두 번 클릭하여 엽니다. 동일한 XXXXX 값을 가진 로그는 동일한 Studio 세션에서 생성된 것입니다.

Mac

Mac에서 로그 파일에 접근하려면:

  1. 파인더를 엽니다.
  2. 메뉴 바에서 이동 ⟩ **폴더로 이동...**를 선택합니다.
  3. 대화 상자에 ~/Library/Logs/Roblox를 입력합니다.
  4. 결과를 두 번 클릭하여 Roblox 로그 디렉토리로 이동합니다.
  5. 디렉토리 내에서 로그를 두 번 클릭하여 엽니다.

iOS

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

Mac에서 iOS 로그 파일에 접근하려면:

  1. iOS 장치를 Mac에 연결합니다.
  2. 파인더를 엽니다.
  3. 유틸리티로 이동하여 콘솔 애플리케이션을 엽니다.
  4. 콘솔 애플리케이션에서 실시간 로그를 채우려면 사이드바에서 iOS 장치를 선택하고 시작 버튼을 클릭한 후 iOS 장치에서 문제를 재현합니다.
  5. 콘솔 애플리케이션에서 아카이브된 로그를 채우려면 터미널에서 sudo log collect --device-name "[iOS Device Name]"를 실행합니다. 장치 이름에 아포스트로피가 없도록 하여 명령을 실행할 때 오류가 발생하지 않도록 합니다.

Android

Android에서 로그 파일에 접근하려면:

  1. 설정시스템개발자 옵션으로 이동합니다.
  2. 개발자 옵션을 활성화합니다.
  3. 컴퓨터에서 Android Studio를 다운로드하여 설치합니다.
  4. Android Studio에서 Logcat을 클릭합니다.
  5. Android 장치를 컴퓨터에 연결하여 Logcat에 로그가 자동으로 채워지도록 합니다.
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.