debug

사용되지 않는 항목 표시

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

Roblox에서 코드를 디버깅하기 위한 몇 가지 기본 기능을 제공합니다. 루아 내에서 사용할 수 있는 debug 라이브러리와는 달리 이 버전은 샌드박스가 심각하게 악용된 버전입니다.

요약

함수

  • traceback(message : string,level : number):string

    현재 함수 호출 스택을 설명하는 명확하지 않은 형식의 문자열을 반환합니다.

  • traceback(thread : coroutine,message : string,level : number):string

    현재 함수 호출 스택을 설명하는 명확하지 않은 형식의 문자열을 반환합니다.

  • info(level : number,options : string):Tuple

    현재 스레드의 전체 스택을 가로질러 대상 수준 세부 정보의 콜 스택을 포함하는 문자열을 반환합니다.Traverses the entire stack of current thread and returns a string containing the call stack of target level details.

  • info(function : function,options : string):Tuple

    현재 스레드의 전체 스택을 가로질러 대상 함수 세부 정보의 호출 스택을 반환합니다.Traverses the entire stack of current thread and returns a string containing the call stack of target function details.

  • info(thread : coroutine,level : number,options : string):Tuple

    대상 스레드의 전체 스택을 가로질러 대상 레벨 세부 정보의 호출 스택을 반환합니다.Traverses the entire stack of target thread and returns a string containing the call stack of target level details.

  • profilebegin(label : string):void

    레이블에 대한 프로필을 시작합니다.

  • profileend():void

    가장 최근에 열린 debug.profilebegin()에 대한 프로파일링을 중지합니다.

  • 현재 스레드의 활성 메모리 카테고리 이름을 반환합니다.

  • 현재 스레드의 메모리 카테고리에 사용자 정의 태그를 할당합니다.

  • Library. debug.setMemorycategory()에 의해 지정된 태그를 자동으로 지정된 값(일반적으로 스크립트 이름)으로 재설정합니다.

  • 개별 함수 및 스크립트의 네이티브 코드 크기를 표시합니다.Displays a table of native code size of individual functions and scripts.

함수

traceback

현재 함수 호출 스택의 트레이스백을 문자열로 반환합니다. 즉, 이 시점까지 호출된 함수의 설명입니다. 디버깅 중에 이것은 오류 스택 트레이스처럼 작동하지만 스크립트 실행을 중지하지는 않습니다.

level 매개 변수는 1 이 호출을 Library.debug.traceback() 자체의 레벨에 고려할 수 있는 호출 수준을 지정합니다. 1>21> 함수 호출을 4>Library. debug. traceback4> 호출 수준으로 참조하고,

이 함수는 원본 코드와 비교하여 정확하지 않은 결과를 반환하고 반환된 추적 백의 형식은 언제든지 변경될 수 있습니다. 스크립트 이름이나 줄 번호와 같은 특정 정보에 대해 반환 값을 분석하지 마십시오.

다음 예에는 순차적 함수 호출이 포함되어 있습니다. fnB() 가 호출되고, fnA() 가 호출되어 debug.traceback() 를 호출합니다.


local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- fnB() 호출을 통해 추적을 시작하십시오
fnB()

매개 변수

message: string

반환된 문자열의 첫 번째 줄.

level: number

호출 스택에서 "위로" 호출할 때 반환하는 호출 수.

기본값: 1

반환

현재 함수 호출 스택의 추적 백.

traceback

현재 함수 호출 스택의 트레이스백을 문자열로 반환합니다. 즉, 이 시점까지 호출된 함수의 설명입니다. 디버깅 중에 이것은 오류 스택 트레이스처럼 작동하지만 스크립트 실행을 중지하지는 않습니다.

level 매개 변수는 1 이 호출을 Library.debug.traceback() 자체의 레벨에 고려할 수 있는 호출 수준을 지정합니다. 1>21> 함수 호출을 4>Library. debug. traceback4> 호출 수준으로 참조하고,

이 함수는 원본 코드와 비교하여 정확하지 않은 결과를 반환하고 반환된 추적 백의 형식은 언제든지 변경될 수 있습니다. 스크립트 이름이나 줄 번호와 같은 특정 정보에 대해 반환 값을 분석하지 마십시오.

다음 예에는 순차적 함수 호출이 포함되어 있습니다. fnB() 가 호출되고, fnA() 가 호출되어 debug.traceback() 를 호출합니다.


local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- fnB() 호출을 통해 추적을 시작하십시오
fnB()

매개 변수

thread: coroutine

Library.coroutine.create() 에 의해 반환된 스레드입니다.

message: string

반환된 문자열의 첫 번째 줄.

level: number

호출 스택에서 "위로" 호출할 때 반환하는 호출 수.

기본값: 1

반환

현재 함수 호출 스택의 추적 백.

info

콜 스택을 프로그래밍 방식으로 검사할 수 있습니다. 이 함수는 debug.traceback()와 달리 데이터 반환 형식을 보장하므로 일반적인 로깅 및 필터링 목적에 유용합니다. 또한 구조화된 입력을 기대하는 시스템, 예를 들어 충돌 집계,에 데이터를 보내는 데 유용합니다.


local function fnA()
-- 1번 및 2번 레벨에서 식별자("s")와 라인("l") 출력
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()

이 함수는 디버그.getinfo와 유사하며, 동일한 목적을 위해 표준 Lua 라이브러리의 사용 불가 부분입니다.

매개 변수

level: number

호출 스택의 어떤 레벨에서 반환되는 정보가 설명되어야 하는지 결정합니다. 1 는 호출 스택의 함수를 나타내고, debug.info()는 호출한 함수를 나타냅니다. 그리고 그 다음에는 호출 스택의 모든 요소가 나타납니다.

options: string

반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :

  • s (string — 함수 정의 스크립트의 전체 이름과 동일한 함수 소스 식별자입니다.
  • l ( number ) — 함수 호출의 라인 번호를 나타내는 level 의 라인 번호입니다.
  • n (문자열 — 함수의 이름; 할당된 디버 이름이 없는 익명 함수 및 C 함수에 대해 nil 수 있습니다.
  • a ( number , bool ) — 함수의 아리티, 매개 변수 수 및 함수가 변형인지 여부를 참조합니다.
  • f (함수 ) — 검사된 함수.

반환

info

콜 스택을 프로그래밍 방식으로 검사할 수 있습니다. 이 함수는 debug.traceback()와 달리 데이터 반환 형식을 보장하므로 일반적인 로깅 및 필터링 목적에 유용합니다. 또한 구조화된 입력을 기대하는 시스템, 예를 들어 충돌 집계,에 데이터를 보내는 데 유용합니다.


local function fnA()
end
local function fnB()
end
-- 모두의 함수 및 이름 ("l"), 모두의 식별자("f")
print(debug.info(fnA, "lnf")) --> 1 funcA 함수: 0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2

이 함수는 디버그.getinfo와 유사하며, 동일한 목적을 위해 표준 Lua 라이브러리의 사용 불가 부분입니다.

매개 변수

function: function

반환된 정보의 함수 스택 기능을 설명해야 합니다.

options: string

반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :

  • s (string — 함수 정의 스크립트의 전체 이름과 동일한 함수 소스 식별자입니다.
  • l ( number ) — 정의된 줄.
  • n (문자열 — 함수의 이름; 할당된 디버 이름이 없는 익명 함수 및 C 함수에 대해 nil 수 있습니다.
  • a ( number , bool ) — 함수의 아리티, 매개 변수 수 및 함수가 변형인지 여부를 참조합니다.
  • f (함수 ) — 검사된 함수.

반환

info

콜 스택을 프로그래밍 방식으로 검사할 수 있습니다. 이 함수는 debug.traceback()와 달리 데이터 반환 형식을 보장하므로 일반적인 로깅 및 필터링 목적에 유용합니다. 또한 구조화된 입력을 기대하는 시스템, 예를 들어 충돌 집계,에 데이터를 보내는 데 유용합니다.


local function fnA()
-- 1번 및 2번 레벨에서 식별자("s")와 라인("l") 출력
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()

이 함수는 디버그.getinfo와 유사하며, 동일한 목적을 위해 표준 Lua 라이브러리의 사용 불가 부분입니다.

매개 변수

thread: coroutine

Library.coroutine.create() 에 의해 반환된 스레드입니다.

level: number

호출 스택의 어떤 레벨에서 반환되는 정보가 설명되어야 하는지 결정합니다. 1 는 호출 스택의 함수를 나타내고, debug.info()는 호출한 함수를 나타냅니다. 그리고 그 다음에는 호출 스택의 모든 요소가 나타납니다.

options: string

반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :

  • s (string — 함수 정의 스크립트의 전체 이름과 동일한 함수 소스 식별자입니다.
  • l ( number ) — 함수 호출의 라인 번호를 나타내는 level 의 라인 번호입니다.
  • n (문자열 — 함수의 이름; 할당된 디버 이름이 없는 익명 함수 및 C 함수에 대해 nil 수 있습니다.
  • a ( number , bool ) — 함수의 아리티, 매개 변수 수 및 함수가 변형인지 여부를 참조합니다.
  • f (함수 ) — 검사된 함수.

반환

profilebegin

void

MicroProfiler 레이블에 대한 프로파일을 시작합니다.

매개 변수

label: string

MicroProfiler 레이블에 표시되는 텍스트.

반환

void

profileend

void

가장 최근에 열린 MicroProfiler 레이블에 대한 프로파일을 중지합니다.

반환

void

getmemorycategory

현재 스레드의 활성 메모리 카테고리 이름을 반환합니다.

반환

현재 스레드의 활성 메모리 카테고리입니다.

setmemorycategory

개발자 콘솔에서 현재 스레드의 메모리 카테고리에 사용자 정의 태그 이름을 할당합니다. 여러 스레드에 대한 메모리 사용을 분석하는 데 유용합니다. 현재 스레드의 이전 메모리 카테고리 이름을 반환합니다.

매개 변수

tag: string

반환

현재 스레드의 이전 메모리 카테고리.

resetmemorycategory

void

Library. debug.setMemorycategory()에 의해 지정된 태그를 자동으로 지정된 값(일반적으로 스크립트 이름)으로 재설정합니다.

반환

void

dumpcodesize

void

개별 함수 및 스크립트의 네이티브 코드 크기 표시 테이블을 표시합니다. 이 함수는 Studio 의 명령 바에서만 사용할 수 있습니다. 자세한 내용은 네이티브 코드 생성 페이지에서 확인할 수 있습니다.

반환

void