jueves, 15 de enero de 2015

Depurar código desde Visual Studio en AX2012

A partir de la versión 6 de AX (AX2012) la mayor parte del código se ejecuta en el entorno de CIL y no puede depurarse desde el depurador de Microsoft Dynamics AX en X++. Igual os habréis sorprendido al introducir un punto de interrupción en x++ y después ver que no se ejecuta el depurador aun estando seguros de que la ejecución pasa por ese punto. Esto significa que el código se está ejecutando en CIL y necesitamos depurarlo con Visual Studio.

Vamos a ver el proceso que debemos realizar (siempre en un entorno de tes/desarrollo):


Activamos estos dos checkBox en la configuración del AOS (habilitar puntos de interrupción). Nos va a pedir reiniciar el servicio:


Abrimos Visual Studio y el menu Application Explorer


Navegamos hasta la clase u objeto donde queremos introducir el punto de interrupción (lo podemos hacer con botón derecho sobre la linea de código deseada).



Nos vamos a la opción de Visual Studio: Debug --> Attach to Process...


Nos aparece la siguiente ventana en la que localizamos el proceso Ax32Serv.exe, marcamos los dos checkBox y pulsamos en Attach.


Confirmamos la selección y ya tenemos Visual Studio preparado para capturar y depurar el código que ejecutemos.



Ahora abrimos el cliente de AX2012 y ejecutamos el proceso a depurar (en este caso una propuesta de depreciación de activos fijos).


Una vez que la ejecución entra por el punto de interrupción nos lleva a Visual Studio, donde podremos comprobar la pila de llamadas, agregar objetos para analizar sus valores, avanzar en la ejecución... Y todo de una manera mas detallada.


Para finalizar la depuración podemos pulsar el botón stop de la barra de herramientas


Espero que os sirva de ayuda.

No hay comentarios:

Publicar un comentario