gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:20:51 25 4
gpt4 key购买 nike

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

enter image description here

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

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

enter image description here

从 Microsoft 服务器加载 pdb 失败。

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

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

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

  • 搜索“已触发断点”消息,但未找到类似问题。
  • 因性能问题而停用的设置(XAML 的 UI 调试工具、诊断工具、IntelliTrace)
    • 在调试/符号中没有激活符号服务器
    • 没有安装已知会影响性能的 VS 扩展。 (完整列表见下文)
    • 尝试了不同的 ArcEngine 版本(10.3.1 和 10.4)
    • 从 MS 和 ESRI 符号服务器加载符号并在本地缓存它们。
    • 删除所有断点
    • 我完全重新安装了我的电脑。现在只安装了一个 Visual Studio (2015)
    • 在另一台 PC 上测试(安装了多个 VS)- 相同的行为

已安装的扩展列表:

  • 用于桌面插件的 ArcObjects SDK 集成
  • ArcObjects SDK 集成实用程序
  • 开发者分析工具
  • 保存时格式化文档
  • Microsoft.NET 核心工具
  • Microsoft ASP.NET 和网络工具
  • Microsoft ASP.NET Web 框架和工具
  • Microsoft Azure 应用服务工具
  • Microsoft 连接服务
  • VS 2015 的 NuGet 包管理器
  • Productivity Power Tools 2015(仅激活输出窗口中的时间戳)
  • Microsoft Visual Studio 的 TypeScript
  • Visual Studio 可扩展性模板

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

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

Visual Studio 2015 中的调试设置: enter image description here

最佳答案

当我将“调试/调试器类型”中的 C++ 项目设置从“自动”更改为“仅托管”时,它再次像在 VS 2013 中一样快。仍然想知道为什么。

关于c++ - 调试时出现 "myapp.exe has triggered a breakpoint"- 之后在 Visual Studio 2015 Update 3 中缓慢加载符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com