【问题标题】:Remote debugging Ax 2012 IL code远程调试 Axe 2012 IL 代码
【发布时间】:2016-01-17 22:20:29
【问题描述】:

我正在尝试对 AOS 进行远程调试。但是由于未加载符号,我的断点永远不会被命中。

“Ax32Serv.exe”(CLR v4.0.30319:X++ IL 应用程序域):已加载“D:\Program 文件\Microsoft 动态 AX\60\Server\MyAOS\Bin\XppIL\Dynamics.Ax.Application.dll423.netmodule'。 无法找到或打开 PDB 文件。

我将调试符号设置为:

\server\d$\Program Files\Microsoft Dynamics AX\60\Server\MyAOS\bin\XppIL

但 Visual Studio 从不将符号加载到缓存中。

  • 我正在以管理员身份运行 Visual Studio
  • 我的客户端配置设置已链接到正确的 AOS
  • 我正在使用 AOS 帐户连接到 AOS
  • 我是 AOS 服务器的本地管理员
  • 在服务器配置中检查调试选项

知道我遗漏了什么或做得不对吗?

Procmon 告诉我 devenv.exe 进程无法访问以下路径 (PATH_NOT_FOUND)。但我不知道它为什么要尝试访问这条路径。

\server\d$\Program Files\Microsoft Dynamics AX\60\Server\MyAOS\bin\XppIL\Dynamics.Ax.Application.dll33.pdb\63A38861AB9B4E6EA55578A367A991AD1\Dynamics.Ax.Application.dll33.pdb

【问题讨论】:

  • 您是否重新启动 AOS 以启用调试选项?这是必要的。理想情况下,您应该在盒子本身上安装 VS 并消除此远程调试问题。你在调试什么 X++ 代码或 C# 本机代码?描述问题,可能有更好的途径来了解根本原因。
  • 是的,AOS 已重新启动。我们正在尝试调试 AIF Web 服务调用。不能在 AOS 服务器上安装 Visual Studio。
  • 不要使用管理共享,例如“d$”。设置您自己的,以便调试器可以使用它。

标签: visual-studio-2013 axapta microsoft-dynamics dynamics-ax-2012


【解决方案1】:

根据我的经验,程序集的部署会妨碍在 AOS 端正确使用远程调试器。

以下步骤对我的情况没有帮助:

  • VS 符号缓存设置为带有 PDB 文件的本地路径(远程框中的 VS 缓存来自 AOT 的项目)。
  • VS 符号缓存设置为共享文件夹(AOS PDB 文件暴露在网络中)。
  • 尝试找到正确的 AOS 重启顺序/清除调试信息,以便同步加载的 DLL 和加载的 PDB 的版本。
  • AOS 选项“组件热插拔”也没有帮助。它可以工作,但是 PDB 和 DLL 不同步。
  • 修补 DL3 / VSAssemblies AOS 文件夹未发现任何解决方法。

最终找到了一种可能的方法来克服“缺少符号信息”消息,这是我认为的根本原因。 AOT 有几个 VS 项目需要进行远程调试。由于相同的“缺少符号信息”错误,每次尝试都没有成功。

我希望以下场景可以帮助 OP 找到 AIF Web 服务的解决方案:

  1. 使用以下行附加 CSPROJ 清单:

    <VSProjectOutputFiles Include="$(OutputPath)$(AssemblyName).pdb">
         <Visible>true</Visible>
    </VSProjectOutputFiles>
    

    这有助于将 PDB 工件保存到 AOT 树中。

  2. 在 MorphX IDE 中编译 VS 项目。在 AOT 编译项目在这里至关重要,因为它将匹配的 PDB 与 DLL 一起部署。

  3. 重新启动 AOS。热插拔不适用于 PDB,因此此处必须重新启动。结果,您可以在 VS 的“模块”窗口中看到正确的 PDB,并且由于这一事实,现在可以访问断点。

虽然使用远程调试器看起来确实适合 AOS(而不是使用开发工具使服务器膨胀),但在 AOS 代码部署方面似乎仍然存在一些问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-16
    • 2016-01-22
    • 2011-06-17
    • 2018-11-19
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多