Compartir a través de


Solución de problemas de Scripting en la nube

Error de carga del entorno

Si se produjo un error en una fase de Scripting en la nube de Mesh durante el proceso de carga de malla y el error que se muestra es "Comprobar los registros para obtener más información", asegúrese de que los registros de información se muestran en la consola de Unity. Actualmente, algunos errores se muestran como registros de información. Esto se mejorará en una versión futura.

Error en la instalación del paquete de scripting en la nube de Mesh

  1. Si encuentra errores relacionados con la instalación de paquetes o la instalación de herramientas de .NET (The tool package could not be restored o Verify your unity package integrity), compruebe que no tiene orígenes de paquetes no válidos en la configuración global de NuGet (en C:\Users\<UserName>\AppData\Roaming\NuGet\NuGet.config o en el directorio de configuración de NuGet predeterminado que está configurado en el equipo).
  2. Si se produce el error al iniciar el package is already installed modo de reproducción, salir del modo de reproducción e iniciarlo de nuevo debe mitigarlo.
  3. Compruebe los derechos de acceso en el directorio Assets\.MeshCloudScripting\.Packages.

Después de presionar el botón Editor Reproducir de Unity, no sucede nada

  1. Compruebe los registros de Unity para ver si hay errores. En concreto, si el código de Scripting en la nube de Mesh tiene un error de compilación, verá "Error de compilación de scripting en la nube" en el registro de errores. En este caso, abra el archivo csproj de Mesh Cloud Scripting y corrija los errores. Si compila desde Visual Studio, mostrará los errores más convenientemente en la salida de la compilación.
  2. Si hay otros errores, revise esta página para obtener información adicional de solución de problemas sobre errores concretos.
  3. Si no hay ningún error, es posible que haya errores en tiempo de ejecución en el código mesh Cloud Scripting. Adjunte a la aplicación con el depurador e inspeccione la salida de los errores.
  4. Si nada ayuda, notifique un error.

Al unir un evento en la aplicación Microsoft Mesh, Mesh Cloud Scripting no funciona.

  1. Asegúrese de que la escena se reproduce según lo previsto al obtener una vista previa local en Unity.
  2. Asegúrese de que el entorno implementado coincida con el archivo scene.map usado por el servicio Mesh Cloud Scripting.
    1. En el proyecto de Unity, vaya al componente Mesh Cloud Scripting y presione Serialize Scene para forzar la serialización del grafo de escena.
    2. Vuelva a cargar el entorno con Mesh Uploader.
  3. Pruebe la versión local de Unity en el servicio implementado.
    • Compruebe los registros en Unity si hay errores si no funciona.
  4. Si nada ayuda, notifique un error.

No se reciben clics

  1. Es posible que Mesh Cloud Scripting Service envíe mensajes con una frecuencia demasiado alta para que el sistema lo controle. En este caso, es posible que el clic se reciba realmente, pero, debido a un gran trabajo pendiente de mensajes, el resultado tarda mucho tiempo en propagarse al cliente. Pruebe a deshabilitar temporalmente el código de actualización de alta frecuencia para ver si esto corrige el problema. Si es así, considere la posibilidad de mover a unidades animadores de Unity en lugar de actualizar las propiedades de Mesh Cloud Scripting.
  2. Si nada ayuda, notifique un error.

Unity se bloquea después de presionar Reproducir

Si cambia el foco de Unity a otra aplicación mientras Unity se está reproduciendo, Mesh Cloud Scripting Service continúa ejecutándose, enviando mensajes a la cola de mensajes. Cuando cambia el foco de nuevo a Unity, se detiene hasta que agota completamente la cola. Si Mesh Cloud Scripting Service está realizando muchos cambios de estado frecuentes o ha cambiado el foco fuera de Unity durante mucho tiempo, Unity puede inmovilizarse durante algún tiempo mientras esto sucede.

Cómo recopilar registros

Recopilación de registros de Unity

Antes de notificar un problema, establezca Verbosity en Diagnóstico.

Configuración del registro de diagnóstico

Reproduzca el problema y envíe los registros de Unity. Puede encontrar el archivo de registro mediante el menú de Unity, que se almacena de forma predeterminada en %LOCALAPPDATA%\Unity\Editor\Editor.log.

Recopilación de registros de Unity

Recopilación de registros de cliente de la aplicación microsoft Mesh

Configure los registros de cliente del equipo mediante la creación de un archivo en el escritorio denominado "startup_settings.json" con el siguiente contenido:

{
  "use_startup_settings": true,
  "log_groups": [
    { "name": "CloudScriptingClientSDK", "level": "Debug" },
    { "name": "CloudScriptingUnityRuntime", "level": "Debug" }
  ]
}

Reproduzca el problema y, a continuación, comparta los registros de Unity. Los registros de aplicaciones de Microsoft Mesh se pueden encontrar en %USERPROFILE%\AppData\LocalLow\Microsoft Corporation\Microsoft Mesh\player.log

Recopilación de registros de servidor

A. Stream de registro

I. Inicio de sesión Stream en Azure Portal

Para ver los registros de Mesh Cloud Scripting Service, en la sección Supervisión del recurso AppService, haga clic en el menú Registro Stream para ver los registros del contenedor, como se muestra en la imagen siguiente.

Registro Stream Seleccionar

II. Registro de Stream a través de la CLI de Azure

Si tiene instalada la CLI de Azure en el equipo local, también puede hacer que estos mismos registros de la máquina local ejecuten el siguiente comando en el terminal:

az webapp log tail --name <APP_SERVICE_NAME> --resource-group <RESOURCE_GROUP_NAME>

III. Descarga de los registros como un archivo ZIP

También puede descargar archivos de registro desde el servicio de aplicaciones hospedado; para ello, vaya a Herramientas avanzadas (Kudu). En la sección "Herramientas de desarrollo" del panel izquierdo, busque Herramientas avanzadas y haga clic en el botón Ir .

AppService Advanced Tools AppService

Se abre el sitio web de SCM y, a continuación, puede descargar los registros de Docker como un archivo Zip, como se muestra a continuación.

Kudu Kudu

B. Azure Monitor

Como alternativa, con Azure Monitor, puede escribir consultas de KQL (Lenguaje de consulta Kusto) para seleccionar los registros que le interesan especialmente de eventos, intervalos de tiempo y mucho más. Esto se configuraría automáticamente si activaste la casilla "Habilitar supervisión de aplicaciones" durante la implementación. Si no es así, consulte la sección configuración manual de Azure Monitor para configurar Azure Monitor para la implementación.

Para usarlo, en la sección Supervisión del panel de navegación, seleccione Registros.

Supervisión de AppService Supervisión de

En el panel Supervisión de consultas, puede seleccionar los registros que le interesen. En el momento de escribir, tenemos "AppServiceConsoleLogs", "AppServiceHTTPLogs", "AppServiceAppLogs" y "AppServicePlatformLogs". Para ver los registros desde el contenedor de Docker, puede encontrar los registros en "AppServiceAppLogs" o "AppServiceConsoleLogs" más útiles.

Panel Supervisión de Azure Panel

En el cuadro de texto proporcionado en el lado derecho del menú Tablas , escriba la siguiente consulta KQL:

AppServiceConsoleLogs
| extend newLog = iif(
ResultDescription has ": Orleans.LifecycleSubject"
or ResultDescription has ": Orleans.Runtime.Catalog"
or ResultDescription has ": Microsoft.Hosting.Lifetime"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.CloudApplication"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Hosting.Launcher.CloudAppInstance"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Hosting.Core.NamedPipesCloudScriptingSessionGrain"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Cloud.Middleware.CloudScriptingBridge"
or ResultDescription has "UNOBSERVED EXCEPTION:"
or ResultDescription has ": Microsoft.SceneAppService.SceneAppHub"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Hosting.Core.NamedPipesCloudScriptingSessionGrain"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Hosting.Launcher.CloudAppInstanceFactory"
or ResultDescription has ": Microsoft.ClientChannel.Hosting.ProcessLifecycleLoggers"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Services.ApplicationWorkDispatcher"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Services.CloudScriptingHostedService"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Hosting.Launcher.CloudScriptingPreparationService"
or ResultDescription has ": Microsoft.Mesh.CloudScripting.Cloud.Middleware.CloudAppProcessFactory"
or ResultDescription has ": Microsoft.ClientChannel.Resources.ClientLinkGrain"
, 1, 0)
| sort by TimeGenerated asc
| extend logId = row_cumsum(newLog) 
| summarize ResultDescription=make_list(ResultDescription), TimeGenerated=min(TimeGenerated) by logId
| extend ResultDescription = strcat_array(ResultDescription, "")
| sort by TimeGenerated desc
| project TimeGenerated, ResultDescription
| where not (ResultDescription has "Broadcasting data of size")

Campo de entrada de supervisión de

Exportar datos a csv.

Azure Monitoring Export Azure

Configuración manual de Azure Monitor (opcional)

Omita si ha activado "Habilitar supervisión de aplicaciones" durante la implementación.

Se requiere un área de trabajo de Log Analytics para esta configuración. Si no tiene un área de trabajo existente, siga la guía oficial.

  1. Abra Azure Portal y vaya al recurso AppService en el que se ejecuta Mesh Cloud Scripting Service.

  2. Haga clic en la pestaña "Supervisión" y desplácese hasta la parte inferior de la página. Haga clic en el botón "Configurar Azure Monitor".

    Pestaña Supervisión de AppService Pestaña

  3. Haga clic en el vínculo "+ Agregar configuración de diagnóstico" para establecer las categorías de registro que se enviarían al área de trabajo elegida.

    Configuración de diagnóstico Configuración

  4. En el símbolo del sistema, rellene el campo "Nombre de configuración de diagnóstico", seleccione las categorías de registro que le interesen (ejemplos: App Service registros de consola, App Service registros de aplicaciones), active la casilla "Enviar al área de trabajo de Log Analytics" y, a continuación, seleccione el área de trabajo de Log Analytics que prefiera.

    Crear configuración de diagnóstico Crear

  5. Habilite Application Insights desde la página de App Service. Esto garantizaría que los registros se propagan al área de trabajo de Log Analytics. Habilitación de App Insights

  6. Rellene el formulario y asegúrese de apuntar a la misma área de trabajo en la que se creó la configuración de diagnóstico.

    Formulario de App Insights

  7. Reinicie AppService y espere un par de minutos. Ahora debería poder consultar los registros en Azure Monitor como se describe en la sección Azure Monitor.

Investigación de implementaciones de scripting en la nube en Azure

  1. En la pestaña Mesh Uploader Create Environment (Crear entorno del cargador de malla), anote los valores de Identificador de suscripción y Grupo de recursos que eligió.

    _______________

  2. En Azure Portal y en la suscripción seleccionada, vaya al grupo de recursos. Puede buscar el nombre del grupo de recursos en la barra de búsqueda o ir al servicio "Grupos de recursos" y buscar allí el grupo de recursos. Asegúrese de que está en el inquilino y la suscripción correctos.

  3. En el panel "Configuración" del grupo de recursos, vaya a "Implementaciones". Debe contener una lista de todas las implementaciones que se han realizado en el grupo de recursos.

  4. Las implementaciones de Scripting en la nube que le interesan son:

  • Aprovisionamiento de aplicaciones: esta es la primera ejecución de implementación y se usa para aprovisionar todos los recursos de scripting en la nube necesarios. Se puede identificar mediante provisionApp como filtro en la ventana Implementaciones.

  • Configuración de la aplicación: esto crea y actualiza la configuración de la aplicación web. Se puede identificar mediante svc-appsettings como filtro en la ventana Implementaciones.

  • Configuración de la aplicación de ensayo: esto crea y actualiza la ranura de ensayo de la aplicación web. Se puede identificar mediante svc-staging-appsettings como filtro en la ventana Implementaciones.

  • Implementación de aplicaciones: se usa para los cambios de infraestructura posteriores. Implementa la versión más reciente de la imagen de Docker cloudhost en el espacio de ensayo de la aplicación web. Esto se puede identificar mediante deployApp como filtro en la ventana Implementaciones.

  • Intercambio de ranuras de aplicación: intercambia las versiones de imagen de Docker de cloudhost presentes en la aplicación web y la aplicación web de ranura de ensayo. Esto se puede identificar mediante deployApp-swap como filtro en la ventana Implementaciones.

    _______________

Para ver detalles adicionales relacionados con la implementación, haga clic en el nombre de la implementación. Los detalles de operación de cada tipo de recurso incluyen el mensaje de error relacionado con la implementación.

_______________

Este es un ejemplo de una implementación que no se realizó correctamente, incluida la causa del error:

_______________

_______________

Los pasos que requieren acción posteriores dependen de los mensajes de error específicos.

Notificación de problemas

  1. Recopile todos los registros disponibles.
  2. Siga las instrucciones de comentarios .