디버깅

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

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

중단점 디버깅

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

관리

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

삽입

중단점은 여러 가지 변형이 있으며 실행 가능한 코드의 어떤 라인에도 다음과 같이 삽입할 수 있습니다:

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

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

비활성화

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

  • 중단점 아이콘을 클릭합니다.
  • 중단점 아이콘을 오른쪽 클릭하고 중단점 비활성화를 선택합니다.
  • 편집하여 중단점의 활성화 여부 체크박스를 토글합니다.

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

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

삭제

중단점을 삭제하려면, 중단점 아이콘을 중간 클릭하거나 오른쪽 클릭하여 중단점 삭제를 선택합니다.

편집

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

중단점을 편집하려면:

  1. 중단점 아이콘을 오른쪽 클릭하고 중단점 편집을 선택합니다.

  2. 중단점 편집 창에서 원하는 대로 중단점을 구성합니다. 이러한 구성을 혼합하여 디버깅 요구에 맞추어 최적화할 수 있습니다.

    옵션설명
    조건중단점이 활성화되는지를 결정하는 선택적 표현식입니다. 조건이 비어 있으면 중단점은 항상 활성화됩니다. 조건이 존재하면 중단점은 조건부 중단점으로 변경되어 조건이 참일 때만 활성화됩니다. 예를 들어, 변수가 var일 때 중단점이 활성화되도록 하려면 조건을 var == 10으로 설정합니다.
    로그 메시지중단점에 도달할 때 출력 창에 인쇄되는 표현식입니다. 로그 메시지의 형식은 print() 문과 동일합니다. 예를 들어, 로그 메시지를 "The value of var:", var로 설정하여 print("The value of 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'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.