调试时“myapp.exe 已触发断点” - 随后 Visual Studio 2015 Update 3 中的符号加载速度缓慢

2023-12-23

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

There is no further explaination in the Output window (see full output http://pastebin.com/f1iUnPXw). When I hit continue, the app continues loading symbols, but at least from now on it's definitly slower than in Visual Studio 2013. It takes VS 2015 15s to reach the breakpoint and 2:15m to complete the loading afterwards. VS 2013 shows the ArcEngine in 15-20s. See this screenshot for comparision (unfortunatly one can't copy the timestamp) enter image description here

当我在消息上单击“中断”时,显示“wntdll.pdb 未加载”:

从 Microsoft 服务器加载 pdb 失败。

为了证明这一点,我们做了一个演示项目 https://1drv.ms/u/s!AmuX_SN-tDXsdOnTIy05zvopZXs(详细信息请参见下文)。

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

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

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

已安装扩展列表:

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

VS 2015 Output http://pastebin.com/f1iUnPXw(从 ArcEngine 调用开始)。

要运行演示项目 https://1drv.ms/u/s!AmuX_SN-tDXsdOnTIy05zvopZXs,您需要有效的 ArcEngine 许可证和 ArcEngine SDK。由于许可原因,我们无法发布 ESRI dll。将它们复制到项目文件夹“ArcEngineTestLibs”中。

Debugging settings in Visual Studio 2015: enter image description here


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试时“myapp.exe 已触发断点” - 随后 Visual Studio 2015 Update 3 中的符号加载速度缓慢 的相关文章

随机推荐

  • 使用 pdfkit 时可以在同一段落中混合使用字体粗细吗?

    我正在尝试寻找一种使用方法粗体字体粗细用于内联强调pdfkit http pdfkit org 不幸的是 我无法找到一种在不强制换行的情况下更改字体的方法 不利于内联强调 我正在尝试类似的事情 pdf text Hello LEFT 200
  • EGIT 分支本地与远程跟踪

    我是 GIT 新手 我将 EGIT 与 eclipse 一起使用 我有一个关于分支机构的问题 我在其中看到 本地 和 远程跟踪 两个部分 如果我必须在其中一个分支机构工作 我认为有两种方法可以完成它 a 检查远程跟踪下的 origin fe
  • Yii2 - 将变量从视图传递到 Gridview 自定义操作列

    我想保存用户在单击页面的 gridview 小部件中的 编辑 按钮之前访问的最后一个位置 我创建了一个名为 lastAddress 的变量 但我真的不知道如何将其传递到 gridview 并将其附加到 编辑 按钮的 url 变量中 谁能告诉
  • SecTrustEvaluate 上始终为 EXC_BAD_ACCESS

    我在用苹果的示例代码 https developer apple com library mac documentation security conceptual CertKeyTrustProgGuide iPhone Tasks iP
  • 在 OpenGL 上映射 Wavefront .obj 纹理顶点

    一位艺术家给了我所有 3D 模型 让我导出为 obj 和 mtl 以便我可以使用 OpenGL 渲染它 但我不明白为什么纹理顶点大于 1 有时甚至是负值 看一下这个例子 vn 0 000717425 0 00106739 0 0099169
  • 错误:在 Android 中添加“splits”后找不到 EOCD

    我在 gradle 中使用以下拆分代码来减小 APK 大小 splits abi Enable ABI split enable true Clear list of ABIs reset Specify each architecture
  • 如何依赖注入 SignInManager?

    我有一个 Web API 应用程序 我正在使用第 3 方身份验证 Firebase 身份验证 我的身份验证工作正常 但一旦用户登录到我的服务器 我想将凭据和用户数据保存到我的 ASP NET Identity 表中 如果我在 Startup
  • PHP:在包含文件中“使用”? [复制]

    这个问题在这里已经有答案了 在 PHP 中使用命名空间时 您可以执行以下操作 是否可以将 use 行放入包含文件中 如果有几十个这样的 use 语句 那么将它们写入您需要它们的每个文件中是非常烦人的 但 use 语句仅适用于当前文件 并且在
  • cookie 和桌面应用程序

    据我所知 网站会向浏览器发送 cookie 以维护某些状态 浏览器会将其存储在本地 当再次访问该网站时 浏览器会将这些 cookie 作为请求的一部分发送回网站 我的印象是 cookie 是浏览器特定的东西 我想澄清这一理解 连接到 Web
  • 如何找到 COM prog id?

    我想通过后期绑定访问 COM 库 我怎样才能找到它的progID Type oClassType Type GetTypeFromProgID THE MISSING PROGID progID 通常采用 Library Class 形式
  • 更新单元格电子表格时,请求的身份验证范围不足 [403]

    在 Google Developer Console 中 Sheet API 已启用 我使用与访问电子表格相同的密钥 当我读取数据时 一切正常 我在 requestUp Execute 上收到请求身份验证范围不足的错误 using Syst
  • 正则表达式lookbehind (JS) 中的可选字符

    我正在尝试使用正则表达式来解析模板中的一些内容 有开始标签和结束标签 但我只想选择这些标签之间的内容 以便我可以 String replace 内容看起来像这样 OpenTag The Content I want CloseTag Ope
  • JHipster Eclipse 项目在“main”中运行内存不足

    我正在构建一个基线 JHipster 项目 不涉及任何附加功能 没有集群等 我使用标准的支持 Node 的 当然 命令行遵循确切的教程步骤 然后将项目作为 Maven 项目导入到 Eclipse 中 根据检查项目 一切看起来都应该工作正常
  • 通过API获取Hbase区域大小

    我正在尝试为 Hbase 编写一个平衡器工具 它可以按区域计数和 或区域大小 storeFile 大小的总和 平衡表的区域服务器之间的区域 我找不到任何返回区域大小或相关信息的 Hbase API 类 我已经检查了一些可用于获取其他表 区域
  • Android JNI - 将 jstring 转换为 wchar_t 的可靠方法

    在我的 Android JNI 代码中 我需要将 jstring 转换为 wchar t 我找到的最接近的参考是如何将 jstring 转换为 wchar t https stackoverflow com questions 68042
  • ASP.NET MVC:返回重定向和ViewData

    我的 MasterPage 中有一个登录框 每当登录信息不正确时 我都会评估ViewData loginError 向用户显示错误消息 登录是 UserController 的一个操作 因此包含登录的表单有action User Login
  • 访问对象数组中的 object.variable

    我需要这段代码的帮助 public class ParkingLot static int MAX 5 static Car Slot new Car MAX public static void main String args Slot
  • Postgresql COPY CSV 错误:最后一个预期列后有额外数据

    我正在尝试从以下位置导入数据http www unitedstateszipcodes org zip code database http www unitedstateszipcodes org zip code database 数据
  • Android NDK 生成不合理的大二进制文件,如何优化 .so 大小?

    我注意到 Android NDK r6b在我的例子中 产生不合理的大结果 so 文件 例如 在我的例子中 我有大约 150 200 行 C 代码 6 个本机方法和 3 个 C 最简单的类 并且此本机代码生成60kb 具有启用的异常和 RTT
  • 调试时“myapp.exe 已触发断点” - 随后 Visual Studio 2015 Update 3 中的符号加载速度缓慢

    我们有一个 STA 模式的 C 项目 它打开一个托管 ESRI ArcEngine 的 C WPF 库MapControl通过 WindowsFormsIntegration 这在 Visual Studio 2013 中工作得很好 自从我