debug
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Proporciona algunas funciones básicas para depurar el código en Roblox. A diferencia de la biblioteca debug que se encuentra en Lua por defecto, esta versión ha sido altamente sandboxeada.
Resumo
Funções
Devuelve una cadena de formato no definido que describe la pila de llamadas de función actual.
Devuelve una cadena de formato no definido que describe la pila de llamadas de función actual.
Cruza todo el stack de hilos actual y devuelve una cadena que contiene la lista de niveles de llamada de los detalles del nivel de objetivo.
Cruza todo el stack de hilos actual y devuelve una cadena que contiene la lista de detalles de función de destino.
Cruza todo el subproceso de hilo objetivo y devuelve una cadena que contiene la lista de niveles de llamada de los detalles del nivel objetivo.
Comienza a perfilar para una etiqueta.
Detiene el perfilado para la depurarmás reciente que se ha abierto.
Devuelve el nombre de la categoría de memoria activa del subprocesoactual.
Asigna una etiqueta personalizada a la categoría de memoria del subprocesoactual.
Restablece la etiqueta asignada por debug.setmemorycategory() a la valor asignado automáticamente (por lo general, el nombre del script).
Muestra una tabla de tamaño de código nativo de individuales funciones y scripts.
Funções
traceback
Devuelve un rastro de la pila de llamadas de función actual como una cadena; en otras palabras, una descripción de las funciones que se han llamado hasta este punto. Durante el diagnóstico, esto se comporta como un rastro de error pero no detiene la ejecución del script.
El parámetro level especifica qué nivel de la pila de llamadas considerar, con 1 siendo la llamada de debug.traceback() a sí misma, 1>21> la llamada de la función que llama a 4>Library. depurar. traceback()4> y así sucesivamente. Vea el ejemplo de código a continuación para un ejemplo de
Tenga en cuenta que esta función a menudo devolverá resultados inexactos (código) y que el formato de la devolución de rastro puede cambiar en cualquier momento. Debe no procesar el valor de devolución para obtener información específica, como nombres de scripts o números de línea.
El siguiente ejemplo incluye llamadas de función secuenciales; fnB() es llamado, y luego llama a fnA() que luego llama a debug.traceback() .
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- Llamar función fnB() para comenzar el rastro
fnB()
Parâmetros
Devolução
Rastro de la función actual.
traceback
Devuelve un rastro de la pila de llamadas de función actual como una cadena; en otras palabras, una descripción de las funciones que se han llamado hasta este punto. Durante el diagnóstico, esto se comporta como un rastro de error pero no detiene la ejecución del script.
El parámetro level especifica qué nivel de la pila de llamadas considerar, con 1 siendo la llamada de debug.traceback() a sí misma, 1>21> la llamada de la función que llama a 4>Library. depurar. traceback()4> y así sucesivamente. Vea el ejemplo de código a continuación para un ejemplo de
Tenga en cuenta que esta función a menudo devolverá resultados inexactos (código) y que el formato de la devolución de rastro puede cambiar en cualquier momento. Debe no procesar el valor de devolución para obtener información específica, como nombres de scripts o números de línea.
El siguiente ejemplo incluye llamadas de función secuenciales; fnB() es llamado, y luego llama a fnA() que luego llama a debug.traceback() .
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- Llamar función fnB() para comenzar el rastro
fnB()
Parâmetros
Un hilo como se muestra por coroutine.create() .
La primera línea de la cadena de caracteres devuelta.
El número de llamadas "up" que la pila de llamadas devolver.
Devolução
Rastro de la función actual.
info
Permite inspeccionar programáticamente la pila de llamadas. Esta función difiere de debug.traceback() en que garantiza el formato de los datos que devuelve. Esto es útil para propósitos de general de diagnóstico y filtrado, así como para enviar los datos a sistemas que esperan entrada estructurada, como la agregación de crashes.
local function fnA()
-- Identificador de fuente de salida ("s") y línea ("l") en niveles 1 y 2
print(debug.info(1, "sl")) --> funcionamiento de la función de
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
Nota que esta función es similar a depurar.getinfo , una parte no disponible de la biblioteca Lua estándar que sirve un propósito similar.
Parâmetros
Determina a qué nivel de la pila de llamadas se debe incluir la información que se devuelve. Un valor de 1 representa la función que está llamando debug.info(), un valor de 2 representa la función que llamó esa función, y así sucesivamente.
Una cadena que describe lo que debe representar la información devuelta. Sólo debe contener 0 o 1 instancias de los personajes slnaf , cada uno de los cuales representa una pieza de información:
- s ( string ) — El identificador de la fuente de la función, que es igual al nombre completo del script en el que se define la función.
- n ( string ) — El nombre de la función; puede ser nil para las funciones anónimas y C funciones sin un nombre de diagnóstico asignado.
- f ( función ) — La función que se inspeccionó.
Devolução
info
Permite inspeccionar programáticamente la pila de llamadas. Esta función difiere de debug.traceback() en que garantiza el formato de los datos que devuelve. Esto es útil para propósitos de general de diagnóstico y filtrado, así como para enviar los datos a sistemas que esperan entrada estructurada, como la agregación de crashes.
local function fnA()
end
local function fnB()
end
-- Línea de salida ("l"), nombre ("n") y identificador ("f") para ambas funciones ftA() y ftB()
print(debug.info(fnA, "lnf")) --> 1 función fernA: 0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2
Nota que esta función es similar a depurar.getinfo , una parte no disponible de la biblioteca Lua estándar que sirve un propósito similar.
Parâmetros
La función de la pila de llamadas que debe describir la información que se ha devuelto.
Una cadena que describe lo que debe representar la información devuelta. Sólo debe contener 0 o 1 instancias de los personajes slnaf , cada uno de los cuales representa una pieza de información:
- s ( string ) — El identificador de la fuente de la función, que es igual al nombre completo del script en el que se define la función.
- n ( string ) — El nombre de la función; puede ser nil para las funciones anónimas y C funciones sin un nombre de diagnóstico asignado.
- f ( función ) — La función que se inspeccionó.
Devolução
info
Permite inspeccionar programáticamente la pila de llamadas. Esta función difiere de debug.traceback() en que garantiza el formato de los datos que devuelve. Esto es útil para propósitos de general de diagnóstico y filtrado, así como para enviar los datos a sistemas que esperan entrada estructurada, como la agregación de crashes.
local function fnA()
-- Identificador de fuente de salida ("s") y línea ("l") en niveles 1 y 2
print(debug.info(1, "sl")) --> funcionamiento de la función de
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
Nota que esta función es similar a depurar.getinfo , una parte no disponible de la biblioteca Lua estándar que sirve un propósito similar.
Parâmetros
Un hilo como se muestra por coroutine.create() .
Determina a qué nivel de la pila de llamadas se debe incluir la información que se devuelve. Un valor de 1 representa la función que está llamando debug.info(), un valor de 2 representa la función que llamó esa función, y así sucesivamente.
Una cadena que describe lo que debe representar la información devuelta. Sólo debe contener 0 o 1 instancias de los personajes slnaf , cada uno de los cuales representa una pieza de información:
- s ( string ) — El identificador de la fuente de la función, que es igual al nombre completo del script en el que se define la función.
- n ( string ) — El nombre de la función; puede ser nil para las funciones anónimas y C funciones sin un nombre de diagnóstico asignado.
- f ( función ) — La función que se inspeccionó.
Devolução
profilebegin
Comienza a perfilar para una etiqueta MicroProfiler .
Parâmetros
El texto que esta etiqueta MicroProfiler muestra.
Devolução
profileend
Detiene el perfilado para la depurarmás reciente MicroProfiler que se ha abierto.
Devolução
setmemorycategory
Asigna un nombre de etiqueta personalizado a la categoría de memoria actual en la consola de desarrollador. Útil para analizar el uso de memoria de múltiples subprocesos en el mismo script que de otra manera se agruparía bajo la misma etiqueta/nombre. Restablece el nombre de la categoría de memoria actual.
Parâmetros
Devolução
La categoría de memoria actual del subproceso.
resetmemorycategory
Restablece la etiqueta asignada por debug.setmemorycategory() a la valor asignado automáticamente (por lo general, el nombre del script).
Devolução
dumpcodesize
Muestra una tabla de tamaño de código nativo de funciones y scripts individuales. Esta función solo está disponible en la Barra de Comandos en Studio. Para obtener más información, consulte la página Generación de código nativo.