"myapp.exe has triggered a breakpoint" 调试时 - 随后在 Visual Studio 2015 Update 3 中缓慢加载符号

"myapp.exe has triggered a breakpoint" while debugging - afterwards slow symbol loading in Visual Studio 2015 Update 3

我们有一个 STA 模式下的 C++ 项目,它通过 WindowsFormsIntegration 打开一个托管 ESRI ArcEngine MapControl 的 C#/WPF 库。这在 Visual Studio 2013 年运行良好。自从我们切换到 VS2015 Update 3 启动 ArcEngine 部分,而在 wntdll.pdb 中遇到神秘断点后调试(调试和发布)速度非常慢:"ArcEngineTestApp.exe has triggered a breakpoint."

输出 window 中没有进一步的解释(参见完整的 output)。当我点击继续时,应用程序继续加载符号,但至少从现在开始它肯定比 Visual Studio 2013 慢。VS 2015 需要 15 秒才能到达断点,然后 2:15m 才能完成加载。 VS 2013 在 15-20 秒内显示 ArcEngine。请参阅此屏幕截图进行比较(不幸的是,无法复制时间戳)

当我在消息上按 break 时,显示 "wntdll.pdb not loaded":

从 Microsoft 服务器加载 pdb 失败。

为了证明这一点,我们制作了一个 demo project(详情见下文)。

这只会在调试时发生。编译后的应用程序运行良好且快速。

我们已经尝试过但没有成功的:

已安装的扩展列表:

VS 2015 Output(从 ArcEngine 调用开始)。

要运行 Demo project,您需要有效的 ArcEngine 许可和 ArcEngine SDK。由于许可原因,我们无法发布 ESRI dll。将它们复制到项目文件夹 "ArcEngineTestLibs".

2015 年 Visual Studio 中的调试设置:

当我将调试/调试器类型中的 C++ 项目设置从 "Auto" 更改为 "Managed Only" 时,它再次像在 VS 2013 中一样快。仍然想知道为什么。