Construyendo y Corriendo un Proyecto WebGL
Gráficas WebGL

Depuración y la resolución de problemas de construcciones WebGL

El contenido de Unity WebGL no puede estar actualmente depurado con MonoDevelop o Visual Studio, lo cual puede hacer difícil de encontrar lo que está pasando mal con su contenido. Aquí hay algunas recomendaciones de cómo obtener información de su construcción.

La consola Javascript del navegador

Unity WebGL no tiene acceso a su sistema de archivos, por lo que no va a construir un archivo log (registro) como otras plataformas. Sin embargo, va a escribir toda la información de registro la cual normalmente iría al archivo log (como Debug.Log, Console.WriteLine o el logging interno de Unity) a la consola JavaScript del navegador.

  • En Firefox, usted puede abrir la consola JavaScript al oprimir Ctrl-Shift-K en Windows o Command-Option-K en un Mac
  • En Chrome, usted puede abrir la consola JavaScript al oprimir Ctrl-Shift-J en Windows o Command-Option-J en Mac.
  • En Safari, usted puede abrir la consola de JavaScript al habilitar el menú de Desarrollo en las pestañas Advanced (avanzadas) en Preferences (Preferencias), y luego oprimir Command-Option-C.
  • En Microsoft Edge o Internet Explore, usted puede abrir la consola de JavaScript al presionar F12.

Development builds (Construcciones de desarrollo)

Por razones de depuración, usted podría típicamente querer hacer una construcción en desarrollo en Unity (la casilla de verificación Development Build en la ventana de Build Settings window). Las construcciones de desarrollo le permite a usted conectar el profiler (perfilador), y estos no estarán minified, por lo que el código JavaScript emitido todavía mantendrá nombres de funciones todavía leíbles por humanos (aunque C++-mangled). Estas pueden ser utilizadas por el navegador para mostrar rastros de stack cuando usted corra en un error en el navegador, o cuando usted lance una excepción y el soporte de excepciones esté des-habilitado, o cuando utilice Debug.LogError. A diferencia de los managed stack traces los cuales usted puede obtener cuando habilite el soporte entero de excepciones (ver abajo), estos stack traces tendrán nombres mangled, y tendrá no solo código managed, pero también código interno de UnityEngine.

Soporte de excepciones

WebGL tiene diferentes niveles de soporte de excepciones (Ver la página acerca de Construyendo para WebGL). Por defecto, Unity WebGL solamente va a soportar excepciones explícitamente lanzadas. Usted puede habilitar el soporte de excepciones Completo el cual emitirá revisiones adicionales en el código IL2CPP generado para atrapar accesos a referencias nulas y elementos afuera de los limites de un arreglo en su código managed. Estas revisiones adicionales van a impactar significativamente el rendimiento y aumentará el tamaño del código y tiempos de carga, por lo que este modo es solamente recomendado para depuración.

El soporte de excepción Completo va a también emitir nombres de funciones a stack traces generados para su código managed. Por lo que usted vera stack traces en la consola para excepciones sin atrapar y para declaraciones Debug.Log, y usted puede obtener una stack traces string utilizando System.Environment.Stacktrace.

Construyendo y Corriendo un Proyecto WebGL
Gráficas WebGL