debug

Mostrar obsoleto

*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

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

    Devuelve una cadena de formato no definido que describe la pila de llamadas de función actual.

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

    Devuelve una cadena de formato no definido que describe la pila de llamadas de función actual.

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

    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.

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

    Cruza todo el stack de hilos actual y devuelve una cadena que contiene la lista de detalles de función de destino.

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

    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.

  • profilebegin(label : string):void

    Comienza a perfilar para una etiqueta.

  • profileend():void

    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

message: string

La primera línea de la cadena de caracteres devuelta.

level: number

El número de llamadas "up" que la pila de llamadas devolver.

Valor Padrão: 1

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

thread: coroutine

Un hilo como se muestra por coroutine.create() .

message: string

La primera línea de la cadena de caracteres devuelta.

level: number

El número de llamadas "up" que la pila de llamadas devolver.

Valor Padrão: 1

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

level: number

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.

options: string

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.
  • l ( número ) — El número de línea de la función representada por level .
  • 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.
  • a ( número , Booleano ) — Aridad de la función, que se refiere a la cantidad de parámetros y si la función es variable.
  • 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

function: function

La función de la pila de llamadas que debe describir la información que se ha devuelto.

options: string

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.
  • l ( número ) — La línea en la que se define function .
  • 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.
  • a ( número , Booleano ) — Aridad de la función, que se refiere a la cantidad de parámetros y si la función es variable.
  • 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

thread: coroutine

Un hilo como se muestra por coroutine.create() .

level: number

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.

options: string

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.
  • l ( número ) — El número de línea de la función representada por level .
  • 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.
  • a ( número , Booleano ) — Aridad de la función, que se refiere a la cantidad de parámetros y si la función es variable.
  • f ( función ) — La función que se inspeccionó.

Devolução

profilebegin

void

Comienza a perfilar para una etiqueta MicroProfiler .

Parâmetros

label: string

El texto que esta etiqueta MicroProfiler muestra.

Devolução

void

profileend

void

Detiene el perfilado para la depurarmás reciente MicroProfiler que se ha abierto.

Devolução

void

getmemorycategory

Devuelve el nombre de la categoría de memoria activa del subprocesoactual.

Devolução

La categoría de memoria activa del subproceso actual.

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

tag: string

Devolução

La categoría de memoria actual del subproceso.

resetmemorycategory

void

Restablece la etiqueta asignada por debug.setmemorycategory() a la valor asignado automáticamente (por lo general, el nombre del script).

Devolução

void

dumpcodesize

void

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.

Devolução

void