Debug

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Studio ofrece muchas herramientas de depósito de código comúnmente encontradas en los Entornos de Desarrollo Integrado (IDEs). Estas herramientas te ayudan a resolver errores y a inspeccionar los scripts línea a línea mientras se ejecutar. La información de depósito de código se muestra en las ventanas Mira , Llamar pila , Saltos y 1>Salida1> para que puedas inspeccion

Proceso general

Si nota un problema en su experiencia o quiere verificar que funcione como lo desea, puede debugar el código relacionado con él como sigue:

  1. Insertar puntos de interrupción en las líneas de códigos que desea examinar.

  2. En la pestaña Script, haz clic en Jugar o Correr en la pestaña de prueba para iniciar una sesión de prueba, también conocida como sesión de depresión.

    Playtest options in Script tab.
  3. Cuando un script toca un punto de interrupción, la sesión de prueba de código se detiene. Pasa por el código. Inspecciona la salida de la ventana , la cola de llamadas y la salida de la otra ventana para ayudarlo a diagnosticar y entender el problema.

  4. Inserta puntos de interrupción adicionales en líneas de código que aún no se han ejecutado para inspeccionar datos adicionales. Desactivar o eliminar puntos de interrupción que ya no necesites.

  5. En la pestaña Script, haz clic en Parar para terminar la sesión de diagnóstico.

Repita los pasos anteriores hasta que solucione el problema o encuentre su causa raíz. Cuando aprenda el flujo de trabajo general, puede configurar los puntos de interrupción para romper solo si se cumplen ciertas condiciones, para imprimir un mensaje en la ventana Salida y para ejecutar solo en el cliente o servidor. Para obtener más información, consulte Configuración de puntos de interrupción.

Insertando Puntos de Interrupción

Los puntos de interrupción son puntos de control que pausan o «rompen» la ejecución de tus scripts en líneas específicas. Puedes usar los puntos de interrupción para inspeccionar y debugger tus experiencias, observar variables y inspeccionar el pila de llamadas . Los puntos de interrupción son una de las herramientas de diagnóstico más efectivas, por lo que son una de las herramientas de diagnóstico más

Para insertar un punto de interrupción estándar en una línea de código, haz clic izquierdo en el marcador a la derecha de su número de línea. También puedes hacer clic izquierdo en el marcador y hacer clic enInsertar punto de interrupción. El punto de interrupción aparece como un punto rojo. Para desactivarlo, haz clic en el punto.

Breakpoint in gutter is a red dot

Pasando a través del código

Si insertas un punto de interrupción en una línea en un script, el script se detiene antes de que ejecute esa línea. Una flecha amarilla llamada "debugger" indica qué línea de código se ejecuta a continuación.

Active breakpoint in the debugger shows yellow arrow

Cuando el script se detiene, ejecuta el código siguiente una línea a la vez haciendo clic a través de ellos con los botones en la pestaña Script. Los botones también aparecen en la esquina superior izquierda de la ventana Call Stack. Mientras ejecuta el código, monitorea cómo cambia tu experiencia mientras se ejecuta la línea actual.

Debugging tools indicated in Script tab

La siguiente tabla resume las tres formas de pasar por el código. Para continuar ejecutando su código después de que se haya alcanzado un punto de interrupción, haga clic en Resumir en la pestaña Script .

BotónAcciónAtajoDescripción
Button to step into a line of code Pasar a F11El botón Pasar al código del modo de desarrollo en la línea actual. Si no hay código en la línea actual, el modo de desarrollo del debugger se mueve a la siguiente línea.
Button to step over a line of code Pasar por encima F10El botón Pasar mueve el debugger a la siguiente línea de código, no para moverse en funciones.
Button to step out of a line of code Salir del Paso ShiftF11El botón Salir del Paso mueve el debugger fuera de la función actual y a la siguiente línea de código después de la función de llamada. Si la línea actual no está dentro de una función, el debugger se mueve a la siguiente línea.

Inspeccionando Código

Cuando un punto de interrupción interrumpe la experiencia durante un prueba de jugabilidad/ prueba de juego, puedes inspeccionar la ventana Reloj, la ventana Call Stack, la ventana Salida y la ventana 2> Editor de Scripts2> para encontrar información sobre valores y funciones de ejecución de scripts. Con esta información, puedes encontrar la causa raíz del problema en tu experiencia.

Mira la ventana

La ventana Reloj tiene dos pestañas: Variables y Mis Relojes . La ventana 1> Variables1> muestra información sobre las variables actuales en alcance, y la ventana 4> Mis Relojes4> muestra el valor de las variables o expresiones que defina. Ambas ventanas muestran información antes de que se ejecute la línea.

La pestaña Variables tiene las siguientes columnas:

  • Nombre – El nombre declarado de la variable.
  • Rango – El rango de la variable: donde se puede "ver" y acceder, como Local, Global o Upvalue.
  • Valor – El valor actual de la variable.
  • Tipo de datos – El tipo de datos de la variable.

La pestaña Mis relojes tiene las siguientes columnas:

  • Expresión – La expresión que desea Inspeccionar.
  • Valor – El valor actual de la expresión.
  • Tipo de datos - El tipo de datos de la expresión.

En la pestaña Variables , puedes filtrar el alcance de las variables haciendo clic en el íconode filtro. También puedes ordenar las filas haciendo clic en el nombre de la columna para ordenar por. La ventana de reloj proporciona tanto vistas extendidas como colapsadas de las tablas.

Watch Window with variable values

Para inspeccionar el código en la ventana de Reloj:

  1. Si la ventana Reloj no está abierta, entonces haga clic en Reloj en la pestaña Ver.

  2. Cuando su sesión de prueba de juego se detiene en un punto de interrupción, piense en cómo espera que la línea actual cambie los valores de las variables en ese script.

  3. A medida que avanza a través del código, observe cómo cambia el valor de las variables en la tabla Variables . Si desea ver una expresión que no esté en la tabla de Variables, abra la pestaña Mis Relojes . Haga clic en una fila vacía en la columna Reloj, luego escriba la expresión en ella. Si desea ver una variable en el Editor de Script, doble haga clic en el nombre de

  4. Compare los valores de las variables y las expresiones con lo que espera y lo que ve en la ventana de seguimiento. Si hay una diferencia entre cómo espera que cambien las variables y cómo realmente cambian, entonces las variables o las funciones que interactúan con ellas pueden estar causando problemas o errores.

Ventana de pila de llamas

La ventana Pila de llamadas muestra qué línea de código se ejecutará primero cuando el debugger llegue a un punto de interrupción. La Pila de llamadas indica qué línea de código que llamas una función desde y, si llamas a la función en otras funciones, el orden de las llamadas de función y qué líneas llamas las otras funciones. La parte superior de la Pila de llamadas es la última llamada y la primera en ej

Call Stack in Studio

Si tiene múltiples puntos de interrupción en diferentes scripts, pueden pausar la sesión de prueba de juego al mismo tiempo. Puedes saltar a los puntos de interrupción haciendo clic en la flecha junto al nombre del script en la ventana de llamada. Si haces clic en Resumir , entonces te saltarás sobre todos los puntos de interrupción que se han interrumpido al mismo tiempo.

Call Stack with multiple breakpoints

Para inspeccionar el código en la ventana de Call Stack durante una sesión de depresión:

  1. Si la ventana Call Stack no se abre, entonces haga clic en Call Stack en la pestaña Ver.

  2. Cuando tu experiencia se detiene en un punto de interrupción, piensa cómo esperas que las llamadas de función estén en ese script.

    Script Editor with two functions and one breakpoint
  3. La pila de llamadas muestra el orden de las llamadas de función. Si el punto de interrupción está dentro de una función, la pila de llamadas muestra qué función llama a esa función, si hay alguna. La pila de llamadas también muestra el nombre y el número de línea de cada función. Haz clic en la línea para saltar a esa función.

    Click in Call Stack to jump to line
  4. Compare el orden de las llamadas de función que pensaste en el paso 2 y el orden real de las pasadas 3. Si hay alguna diferencia, entonces hay una diferencia entre cómo esperas que el código se comporte y cómo realmente se comporta, lo que causa problemas y errores potenciales.

Ventana de salida

La ventana Salida, accesible desde la Vista pestaña, muestra errores capturados al ejecutar scripts, mensajes de Roblox Engine, registros de mensajes, mensajes de llamadas a print() y errores de llamadas a 1> warn()1> .

Editor de Script

El Debugger está integrado con el Editor de Scripts . Cuando su experiencia se detiene en un punto de interrupción en un script, puede pasar el mouse sobre el nombre de una variable para ver su valor. Por ejemplo, puede ver el valor de una tabla que usted pasa como un argumento en una función de llamada.

Mouseover a variable in Script Editor to show value

Configuraciones de punto de ruptura

Puede configurar puntos de interrupción para romper solo si se cumplen ciertas condiciones, para imprimir un mensaje en la ventana de salida y para ejecutar solo en el cliente o servidor. También puede mezclar estas configuraciones juntas para mejorar sus necesidades de depresión.

Editando Puntos de Interrupción

Puede editar la configuración de un punto de interrupción en cualquier momento, incluida durante las sesiones de prueba. Si edita los puntos de interrupción durante una sesión de prueba, las ediciones persisten incluso después de que termines. También puedes editar un punto de interrupción que esté interrumpiendo activamente tu sesión de prueba, pero las cambiar no se aplican hasta la próxima sesión de prueba.

Para editar la configuración de un punto de interrupción:

  1. Haga clic con el botón derecho en el punto de interrupción, luego haga clic en Editar punto de interrupción .

    Right click to edit a breakpoint in Studio
  2. En la ventana Editar punto de interrupción , configura el punto de interrupción como quieras.

    Edit Breakpoint window in Studio

Condición, mensaje de registro y opciones

Para cada punto de interrupción, puede establecer su Condición, Mensaje de registro, Continuar ejecutando y 2>Contexto2>.

La condición es la expresión que determina si el punto de interrupción se activa. La condición es opcional. Si la condición es vacía, el punto de interrupción siempre se activa. Si la condición existe, entonces el punto de interrupción se activa solo si la variable

El mensaje de registro es la expresión que se imprime en la ventana de salida cuando la condición es cierta. El formato del mensaje de registro es el mismo que el argumento para una declaración print() . Por ejemplo, establece el mensaje de registro como "The value of n:", n para imprimir el mismo mensaje que 1> print

La opción Continuar Ejecutando determina si el punto de interrupción pausa el script si se activa. Es útil si desea registrar los valores de las variables o las expresiones sin detener la ejecución. Esta opción está desactivada por defecto.

El Contexto de un punto de interrupción determina si el punto de interrupción debe activarse en el Cliente, el Servidor o el Editar. Si el contexto es Cliente, entonces el punto de interrupción se activa en los scripts del lado del Cliente. Si el contexto es Servidor, entonces el punto de interrupción se activa en los scripts del lado del Servidor. Si el contexto es Editar, entonces el punto de interrupción se activa cuando se debuga los plugins. Si haces clic en Personalizar contexto,

Edit Breakpoint Window shows Custom Context

Puntos de interrupción y registros condicionales

Studio ofrece versiones nombradas de los puntos de interrupción para hacer que la inserción de puntos de interrupción sea más rápida. Para insertar una versión nombrada, haz clic con el botón derecho en la esquina derecha de su número de línea, luego haz clic en la variante que quieres insertar.

Right click to insert a breakpoint

Un Conditional Breakpoint es un punto de interrupción con una Condición y ejecución continua desactivado. Los puntos de interrupción condicionales solo pausan su script si se trata de una condición, por lo que son útiles para debuggar cómo se ejecuta cuando se ejecutan ciertas variables. Los puntos de interrupción condicionales usan los

Un Logpoint es un punto de interrupción con un Mensaje de registro y Ejecutar continuamente habilitado. Los mensajes de registro se guardan en la ventana de salida sin detener sus scripts, por lo que son útiles para debugger los valores de las variables. Los puntos de interrupción usan los valores de las variables antes de que se ejecute la línea, para que sean útiles

Los puntos de registro son a menudo más eficientes para debugger las variables que print() declaraciones porque te permiten registrar mensajes en la ventana de salida sin tener que detener o reiniciar la sesión de prueba activa. En comparación con print() declaraciones, mantienen tu código limpio mientras debugger y son más fáciles de eliminar después de que termines de debugger.

Desactivando Puntos de Ruptura

Hay muchas formas de desactivar y reactivar un punto de interrupción:

  • Haga clic en el íconodel punto de interrupción.
  • Edita el punto de interrupción y alterna su casilla de verificación Habilitado.
  • Haga clic con el botón derecho en el icono del punto de interrupción y haga clic en Desactivar punto de interrupción o Activar punto de interrupción.

Eliminando Puntos de Interrupción

Para eliminar un punto de interrupción, haz clic con el botón medio en el ícono. También puedes hacer clic con el botón derecho en el icono y hacer clic en Eliminar punto de interrupción .

Ventana de puntos de interrupción

La ventana de puntos de interrupción muestra todos los puntos de interrupción en tu experiencia. Para abrir la ventana de puntos de interrupción, haz clic en la pestaña Ver en la parte superior de Studio, luego haz clic en Interrupciones.

Breakpoints window in Studio

La ventana Breakpoints tiene las siguientes columnas: un Etiqueta, Script, Linea, Base de Datos, Condición, Mensaje de Log y Continuar Ejecutando. Las columnas no etiquetadas, Script y Linea siempre se muestran, pero puedes alternar las otras columnas haciendo clic en los tres puntos en la esquina superior derecha de la ventana.

En la columna sin etiqueta, la etiqueta (x3) indica el número de puntos de interrupción en la misma línea de código, y el icono indica la configuración de puntos de interrupción. Las interrupciones en la misma línea comparten la misma condición, mensaje de registro y continuación de ejecución, pero se varían en contexto. Puede editar la configuración de una interrupción en la ventana de Interrupciones. Por ejemplo, puede editar la condición de

Edit the Condition of a Breakpoint in the Breakpoints Window

Puede habilitar y deshabilitar puntos de interrupción haciendo clic en su icono de punto de interrupción en la columna Habilitado. También puede hacer clic en los siguientes botones para activar, desactivary eliminar algunos o todos los puntos de interrupción.

BotónAcción
Button to disable all breakpointsDesactivar todos los puntos de interrupción. Si se desactivan algunos puntos de interrupción, habilítalos todos/todas.
Button to delete all breakpointsElimina todos los puntos de interrupción.

Iconos de "Fallo"

El icono de un punto de interrupción depende de si está habilitado, tiene una condición y tiene un mensaje de registro. Si un punto de interrupción tiene un mensaje de registro, entonces aparece como un punto de interrupción independientemente de si tiene una condición.

NombreÍconoHabilitadoCondiciónMensaje de registro
Punto de rupturaNoNo
NoNoNo
Punto de interrupción condicionalNo
NoNo
Punto de LogTal vez
NoTal vez

Herramientas de depuración adicionales

Además del modo debugger, Studio ofrece herramientas de depresión adicionales para que pueda solucionar problemas y errores en su experiencia.

Barra de Comandos

La Barra de Comandos le permite ejecutar comandos Luau mientras se ejecuta la experiencia. Está disponible en Studio desde la pestaña Ver y en la Consola del Desarrollador.

Consola de Desarrollador

La Consola del Desarrollador proporciona un amplio conjunto de detalles, incluida la Salidadel cliente y del servidor, el uso de memoria, el ejecuciónde la red y más. Para abrir la /console mientras se prueba o juega una experiencia, escriba /console en el chat o presione 1>F91> . Para obtener más información, consulte 4>Consola del Desarrollador

Archivos de registro

Cuando un script imprime o hace un error en Studio o en el Player, el app registra el mensaje en un archivo de registro en el sistema de archivos local. Estos archivos se encuentran en diferentes lugares dependiendo del sistema operativo.

Ventanas

Para acceder a los archivos de registro en Windows:

  1. Abre Explorador de archivos .
  2. Navegue a la %LOCALAPPDATA%\Roblox\logs directorio.
  3. Haga clic doble en un registro para abrirlo. Los registros con el mismo valor XXXXX son de la misma sesión de Studio.

Mac

Para acceder a los archivos de registro en Mac:

  1. Abre Explorador .
  2. En la barra de menú, seleccione Ir > Ir a la carpeta... .
  3. En el diálogo, ingrese ~/Library/Logs/Roblox .
  4. Haga clic doble en el resultado para encontrar la dirección de la lista de registros de Roblox.
  5. Dentro de la carpeta, haz clic doble en un registro para abrirlo.

iOS

Puede recopilar registros iOS usando un Mac o usando un dispositivo iOS.

Para acceder a los archivos de registro iOS en un Mac:

  1. Conecta el dispositivo iOS a un Mac.
  2. Abre Explorador .
  3. Navegue a Utilidades y abra la aplicación Consola .
  4. Para llenar los registros en tiempo real en la aplicación de la consola, seleccione el dispositivo iOS desde la barra lateral, haga clic en el botón Iniciar y reproduzca el problema en el dispositivo iOS.
  5. Para llenar los registros archivados en la aplicación de la consola, ejecuta sudo log collect --device-name "[iOS Device Name]" en el Terminal ” . Asegúrate de que no haya signos de exclamación en el nombre del dispositivo o podrías obtener un error al ejecutar el comando.

Androide

Para acceder a los archivos de registro en Android:

  1. Navegue a Configuración > Sistema > Opciones de desarrollador .
  2. Alternar Opciones de desarrollador en.
  3. En un ordenador, descargue e instale Android Studio .
  4. En Android Studio, haz clic en Logcat .
  5. Conecta el dispositivo Android al ordenador para llenar automáticamente Logcat con troncos.