How to: Debug X++ Code Running in .NET Business Connector
Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
The Microsoft Dynamics AX development environment enables you to create a .NET-connected application and integrate with Microsoft Dynamics AX. By using .NET Business Connector, you can call X++ methods and access data from a .NET-connected application.
Microsoft Dynamics AX requires that you set breakpoints through the client and the debugger. You need to enable setting break points in the client configuration, and then enable debugging in the .NET Business Connector configuration. For more information about debugger, see Microsoft Dynamics AX Debugger.
There are two modes to debug .NET Business Connector code; interactive and non-interactive. An example of using the interactive mode is integrating Microsoft Excel with Microsoft Dynamics AX. For more information, see How to: Enable the Debugger. An example of using the non-interactive mode is integrating with Enterprise Portal. The following steps provide information to debug X++ code from the .NET-connected application using the non-interactive mode.
Prerequisites
To complete following procedures, you will need:
Microsoft Dynamics AX installed with a developer license file
Client, server and .NET Business Connector on the same computer
The Microsoft Dynamics AX developer is in the Windows admin group
Procedures
Setting the Configuration Settings to Enable Debug
In this section, you will set the configuration settings to enable your X++ code to be debugged from a .NET-connected application. The settings are in the Microsoft Dynamics AX Configuration and Server Configuration windows.
To set the configuration settings
From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Configuration.
Click the Manage button and then click Create configuration.
Give the Configuration a name like DebugClientOption and click OK.
Click the Developer tab, select Enable user breakpoints to debug code in the Business Connector or select Enable global breakpoints to debug code running in the Business Connector or client.
Note
Breakpoints are user specific. If you set a breakpoint, only the intended session will break for that breakpoint even if other users execute that code while the breakpoint exists. A global breakpoint will break on any breakpoint for any session running on the machine.
Click the Configuration Target: dropdown and select Business Connector (non-interactive use only).
Click the Manage button and then click Create configuration…
Give the Configuration a name like DebugNonIntOption and click OK.
On the Developer tab, select Enable user breakpoints to debug code running in the Business Connector or select Enable global breakpoints to debug code running in the Business Connector or client.
Click OK to apply changes and close window.
The following steps are only required if you want to debug X++ code that runs on the AOS server, if your code is client only code, for example Business Connector or desktop client, then the following steps are not required. This can be critical in production scenarios because applying the configuration changes require re-starting the server.
To set the configuration settings for code that runs on the AOS server
From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Server Configuration.
Click the Manage button and then click Create configuration.
Give the Configuration a name like DebugServerOption and click OK.
On the Application Object Server tab, select Enable breakpoints to debug X++ code running on this server.
Click OK to apply changes and close window. You will be prompted to restart the service.
Enabling Debug in Microsoft Dynamics AX
The next step is to enable debug in the Microsoft Dynamics AX application.
To enable debug in Microsoft Dynamics AX
From the System administration navigation pane, click Common > Users.
Click the user that you want to debug, on the Action Pane, click Options.
In the Options window, click the Development link. In the Debug section, for the Debug mode field, click When Breakpoint.
Click Apply and close the Option and User windows.
Setting Breakpoints in Microsoft Dynamics AX
The following section describes how to set breakpoints in your X++ code.
To set breakpoints in Microsoft Dynamics AX
In the Application Object Tree (AOT), locate the method that you want to debug, right-click the method and click Edit.
Use F9 to include a breakpoint in your X++ code. For more information about breakpoints, see Using Breakpoints.
Invoking the Breakpoints in X++
Now that you have the configuration settings applied and Microsoft Dynamics AX enabled to break when you debug, the final step is to run the .NET-connected application. In this section you will run the application that will cause the breakpoint to occur.
To run the application
Start the .NET-connected application that uses the Microsoft.Dynamics.BusinessConnectorNet assembly. This will load the breakpoints for the current user.
Click Tools > Debugger.
Run the application that will cause the breakpoints to occur. When a breakpoint is encountered, Microsoft Dynamics AX will connect to an existing debugger process and displays the output in the Microsoft Dynamics AX Debugger window. For more information about how to use the Debugger, see Microsoft Dynamics AX Debugger.
Disabling the Debug Settings
When you are finished debugging the X++ code you must disable the debug settings. The following section describes the steps to remove the breakpoints and reset the configuration settings.
To disable the debug settings
In the AOT, locate the method that you set breakpoints in, right-click the method and click Edit.
Use F9 to remove a breakpoint, or use Ctrl+F9 to disable the breakpoint.
Click Tools > Options.
In the Options window, click the Development link. In the Debug section, for the Debug mode field, click No.
Click Apply and close the Option and User windows.
Set the configuration settings back to the previous configurations. From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Configuration.
Click the Configuration drop down menu and click the previous or Original configuration.
In the Application Object Server Instance dropdown, select Local client.
Click the Configuration drop down menu and click the previous or Original configuration.
Click OK to apply changes and close window.
From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Server Configuration.
Click the Configuration drop down menu and click the previous or Original configuration.
Click OK to apply changes and close window.
See also
Microsoft Dynamics AX Debugger
.NET Business Connector Overview
Walkthrough: Integrate an Application with Microsoft Dynamics AX Using .NET Business Connector
Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.