This topic has not yet been rated - Rate this topic

 http://msdn.microsoft.com/EN-US/library/bb190066.aspx

Updated: December 16, 2011

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

  1. From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Configuration.

  2. Click the Manage button and then click Create configuration.

  3. Give the Configuration a name like DebugClientOption and click OK.

  4. 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.

  5. Click the Configuration Target: dropdown and select Business Connector (non-interactive use only).

  6. Click the Manage button and then click Create configuration…

  7. Give the Configuration a name like DebugNonIntOption and click OK.

  8. 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.

  9. 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

  1. From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Server Configuration.

  2. Click the Manage button and then click Create configuration.

  3. Give the Configuration a name like DebugServerOption and click OK.

  4. On the Application Object Server tab, select Enable breakpoints to debug X++ code running on this server.

  5. 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

  1. From the System administration navigation pane, click Common > Users.

  2. Click the user that you want to debug, on the Action Pane, click Options.

  3. In the Options window, click the Development link. In the Debug section, for the Debug mode field, click When Breakpoint.

  4. 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

  1. In the Application Object Tree (AOT), locate the method that you want to debug, right-click the method and click Edit.

  2. 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

  1. Start the .NET-connected application that uses the Microsoft.Dynamics.BusinessConnectorNet assembly. This will load the breakpoints for the current user.

  2. Click Tools > Debugger.

  3. 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

  1. In the AOT, locate the method that you set breakpoints in, right-click the method and click Edit.

  2. Use F9 to remove a breakpoint, or use Ctrl+F9 to disable the breakpoint.

  3. Click Tools > Options.

  4. In the Options window, click the Development link. In the Debug section, for the Debug mode field, click No.

  5. Click Apply and close the Option and User windows.

  6. Set the configuration settings back to the previous configurations. From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Configuration.

  7. Click the Configuration drop down menu and click the previous or Original configuration.

  8. In the Application Object Server Instance dropdown, select Local client.

  9. Click the Configuration drop down menu and click the previous or Original configuration.

  10. Click OK to apply changes and close window.

  11. From the Start menu, point to Administrative Tools and then click Microsoft Dynamics AX Server Configuration.

  12. Click the Configuration drop down menu and click the previous or Original configuration.

  13. Click OK to apply changes and close window.

Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. get your copy at the MS Press Store

How to: Debug X++ Code Running in .NET Business Connector [AX 2012]的更多相关文章

  1. Change the environment variable for python code running

    python程序运行中改变环境变量: Trying to change the way the loader works for a running Python is very tricky; pr ...

  2. How to implement long running flows, sagas, business processes or similar

    转自:https://blog.bernd-ruecker.com/how-to-implement-long-running-flows-sagas-business-processes-or-si ...

  3. How to Debug Enterprise Portal Code in Dynamics AX 2009

    转载 To set up debugging for pages1. Log into the server that is running the AOS.2. Open the Microsoft ...

  4. Why we made vorlon.js and how to use it to debug your JavaScript remotely

    Vorlon.js is powered by node.JS, socket.io, and late-night coffee. I would like to share with you wh ...

  5. Build 2017 Revisited: .NET, XAML, Visual Studio

    For the next couple months we're going to revisit Build 2017, each post focusing on different aspect ...

  6. How to debug .NET Core RC2 app with Visual Studio Code on Windows?

    Simone Chiaretta (http://codeclimber.net.nz/archive/2016/05/20/How-to-debug-NET-Core-RC2-app-with-Vi ...

  7. HOW TO REMOTELY DEBUG APPLICATION RUNNING ON TOMCAT FROM WITHIN INTELLIJ IDEA

    This post would look into how to tackle and debug issues in scenarios where they only occur in produ ...

  8. Visual Studio Debug only user code with Just My Code

    Debug only user code with Just My Code By default, the debugger skips over non-user code (if you wan ...

  9. Debug with jdb

    原文地址: http://www.javaworld.com/article/2077445/testing-debugging/debug-with-jdb.html Q: How do you u ...

随机推荐

  1. Java知识系统回顾整理01基础04操作符02关系操作符

    一.关系操作符 关系操作符:比较两个变量之间的关系  > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...

  2. Arduino 与 SPI 结合使用 以及SPI 深层理解

    本文主要讲解两部分内容,不做任何转发,仅个人学习记录: 一. Arduino 与 SPI 结合使用  : 二. SPI 深层理解 有价值的几个好的参考: 1. 中文版: https://blog.cs ...

  3. .net网站自动化部署-致两年前的遗留的问题

    又到一年国庆,终于有了难得的几天空闲,计划陪陪媳妇娃子,再把最近阅读的几本相关书总结梳理下.当然,计划总是美好的,于时接到了一个老朋友电话.大意是他搞了一个.net小网站,部署了4个节点,每次更新程序 ...

  4. 跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)

    前言 撸码需谨慎,裸奔有风险.经常在一些技术交流群中了解到,还有很多小伙伴的项目中Api接口没有做任何安全机制验证,直接就裸奔了,对于一些临时项目或是个人小项目还好,其余的话,建议小伙伴们酌情考虑都加 ...

  5. 联赛模拟测试12 B. trade

    题目描述 分析 \(n^2\) 的 \(dp\) 应该比较好想 设 \(f[i][j]\) 为当前在第 \(i\) 天剩余的货物数量为 \(j\) 时的最大收益 那么它可以由 \(f[i-1][j]\ ...

  6. dirsearch下载与简单实用

    下载 下载地址   我的电脑是Windows,而且我也有python3.6的环境,所以我是直接clone到本地就能使用了.   命令的提示在上面的下载地址里就有,这里给个最简单的命令(脚本小子专属,我 ...

  7. eclipse 配置opencv

    1 准备 eclipse 2017 JDK1.8 opencv 4.40 2 配置 新建java工程 添加jar包 选择opencv-xxx.jar包 加入原生库 选择原生库位置 确认即可,测试 新建 ...

  8. MySQL 8 新特性之Clone Plugin

    Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务.在Group Replication中,添加一 ...

  9. MeteoInfoLab脚本示例:中文处理

    在脚本中使用中文需要指明是unicode编码,即在含有中文的字符串前加u,比如:u'中文'.还需要将字体指定为一种中文字体.详见下面的例子.脚本程序: x = [1,2,3,4] y = [1,4,9 ...

  10. shell脚本获取随机数

    $RANDOM系统变量 在bash中,支持$RANDOM系统变量,范围是 [0, 32767] #!/bin/bash set -e randN() { local N=$1 echo $(($RAN ...