Depuración de Waf con AZ Code Generator - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Depuración de Waf con AZ Code Generator

El generador de código AZ está en versión preliminar y está sujeto a cambios.

Puede depurar la salida de integración de los scripts de Python de Waf mediante PyCharm y unas pocas claves depurar puntos de entrada. Para obtener más información sobre la propia integración Waf, consulte Integración de AZ Code Generator con Waf .

Requisitos previos 

Antes de empezar, siga las instrucciones de Configuración de PyCharm para la depuración de Waf . El depurador de PyCharm debe estar configurado para depurar lmbr_waf antes de poder continuar.

Identificación y configuración de la salida de depuración

Todas las salidas de integración de AZ Code Generator Waf tienen el prefijo az_code_gen. Para ver la salida adicional de tanto la creación de tareas como la ejecución de tareas, añadir --zones=az_code_gen a la línea de comandos Waf. Esto expone los comandos que invocan AZ Code Generator y son útiles para depurar la propia utilidad AZ Code Generator. Para obtener más información, consulte Depuración del generador de código AZ Servicio público.

Depuración de la configuración de Wscript

Para depurar la mayoría de los problemas de configuración, es mejor establecer un punto de interrupción en la pestaña create_code_generator_tasks método en dev\Tools\Build\waf-<version>\lmbrwaflib\az_code_generator.py . Este método se utiliza para cada wscript que utiliza el archivo az_code_gen característica. Interpreta directamente los pasos dados y genera un az_code_gen para cada archivo de entrada en cada pasada. 

Depuración az_code_gen Tarea Creación

El create_az_code_generator_task la característica crea az_code_gen las tareas de. Reúne la mayor parte de la información y la inserta en la tarea. Cada tarea se añade a la az_code_gen_group Tarea Waf para garantizar que se ejecuta antes de otras tareas.

Depuración de la ejecución de tareas de az_code_gen

El run y handle_code_generator_output Los comandos de la son puntos importantes en la ejecución de tareas. 

El run el comando toma la información disponible y genera una El archivo de argumentos de estilo Clang con el prefijo @ símbolo. El archivo de argumentos es pasado en la línea de comandos a la utilidad AZ Code Generator.

handle_code_generator_output - El código AZ La utilidad Generator devuelve un objeto JSON con una o varias entradas que son analizados por handle_code_generator_output. Si la zona de disponibilidad La utilidad Code Generator devuelve una respuesta no JSON no válida que vence a errores durante la ejecución, la tarea Waf devuelve el error mensaje No JSON-Object could be decoded. [EMPTY] descubra el valor de retorno que no se pudo gestionar, ejecute el fuera de Waf.