Roblox에서 코드를 디버깅하기 위한 몇 가지 기본 기능을 제공합니다. 루아 내에서 사용할 수 있는 debug 라이브러리와는 달리 이 버전은 샌드박스가 심각하게 악용된 버전입니다.
요약
함수
현재 함수 호출 스택을 설명하는 명확하지 않은 형식의 문자열을 반환합니다.
현재 함수 호출 스택을 설명하는 명확하지 않은 형식의 문자열을 반환합니다.
현재 스레드의 전체 스택을 가로질러 대상 수준 세부 정보의 콜 스택을 포함하는 문자열을 반환합니다.Traverses the entire stack of current thread and returns a string containing the call stack of target level details.
현재 스레드의 전체 스택을 가로질러 대상 함수 세부 정보의 호출 스택을 반환합니다.Traverses the entire stack of current thread and returns a string containing the call stack of target function details.
대상 스레드의 전체 스택을 가로질러 대상 레벨 세부 정보의 호출 스택을 반환합니다.Traverses the entire stack of target thread and returns a string containing the call stack of target level details.
레이블에 대한 프로필을 시작합니다.
가장 최근에 열린 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()
반환
현재 함수 호출 스택의 추적 백.
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()
매개 변수
반환
현재 함수 호출 스택의 추적 백.
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 라이브러리의 사용 불가 부분입니다.
매개 변수
호출 스택의 어떤 레벨에서 반환되는 정보가 설명되어야 하는지 결정합니다. 1 는 호출 스택의 함수를 나타내고, debug.info()는 호출한 함수를 나타냅니다. 그리고 그 다음에는 호출 스택의 모든 요소가 나타납니다.
반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :
반환
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 라이브러리의 사용 불가 부분입니다.
매개 변수
반환된 정보의 함수 스택 기능을 설명해야 합니다.
반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :
반환
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 라이브러리의 사용 불가 부분입니다.
매개 변수
Library.coroutine.create() 에 의해 반환된 스레드입니다.
호출 스택의 어떤 레벨에서 반환되는 정보가 설명되어야 하는지 결정합니다. 1 는 호출 스택의 함수를 나타내고, debug.info()는 호출한 함수를 나타냅니다. 그리고 그 다음에는 호출 스택의 모든 요소가 나타납니다.
반환된 정보가 표시해야 하는 것을 설명하는 문자열입니다. 문자열에는 0개 이상의 인스턴스만 포함될 수 있습니다. 각 인스턴스는 정보의 조각을 나타냅니다. slnaf :
반환
resetmemorycategory
Library. debug.setMemorycategory()에 의해 지정된 태그를 자동으로 지정된 값(일반적으로 스크립트 이름)으로 재설정합니다.
반환
dumpcodesize
개별 함수 및 스크립트의 네이티브 코드 크기 표시 테이블을 표시합니다. 이 함수는 Studio 의 명령 바에서만 사용할 수 있습니다. 자세한 내용은 네이티브 코드 생성 페이지에서 확인할 수 있습니다.