.pdbs 会减慢发布应用程序的速度吗?

2024-05-16

如果 .dll 中包含 .pdb(程序调试)文件,则行号将出现在引发的任何异常的堆栈跟踪中。这会影响应用程序的性能吗?


这个问题与发布与调试(即优化)无关。这是关于拥有 .pdb 文件的性能影响。每次抛出异常时都会读取 .pdb 文件吗?加载程序集时是否以某种方式缓存信息?或者是在第一次抛出相关异常时缓存?这有多大区别?


约翰罗宾斯在他的文章中写到了这一点PDB 文件会影响性能吗? https://www.wintellect.com/do-pdb-files-affect-performance/。简单的答案是否定的(如果您使用 /optimize+ 和 /debug 开关编译发布版本):

在其他操作系统上可能是这样,但在 Windows 上则不然。如果您认为他们这样做,那么为什么 Microsoft 在构建他们发布的每一个产品时都打开了调试和发布版本的 PDB 文件呢?他们编写了编译器,编写了链接器,还编写了操作系统,因此他们确切地知道效果是什么。与世界上任何其他软件公司相比,微软拥有更多关注性能的人员。如果有任何性能影响,他们就不会这样做。时期。在 Microsoft,性能并不是唯一的因素,而是一切。

此外:

当构建 /optimize+ 和 /debug 开关时,DebuggingMode.IgnoreSequencePoints 将传递给 DebuggableAttribute 以告诉 JIT 编译器它不需要加载 PDB 文件即可正确 JIT IL。

他还有另一篇文章,题为PDB 文件:每个开发人员必须了解的内容 https://www.wintellect.com/pdb-files-what-every-developer-must-know/这也是一本好书。

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

.pdbs 会减慢发布应用程序的速度吗? 的相关文章

随机推荐

  • 在 jQuery 中获取 SELECT 的值和文本[重复]

    这个问题在这里已经有答案了 可能的重复 获取选择框中选定选项标签的值 https stackoverflow com questions 7380604 getting the value of the selected option ta
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • fadeOut() 和slideUp() 同时进行?

    我已经发现jQuery 淡出然后滑动 https stackoverflow com questions 734554 jquery fadeout then slideup这很好 但不是那个 我怎么能够fadeOut and slideU
  • Emacs Lisp 可以将 lambda 形式分配给像Scheme 这样的变量吗?

    在研究 Emacs Lisp 的符号单元时 我发现像这样的示例函数 defun a rest x x 我可以打电话 symbol function a 返回 lambda rest x x 如果我愿意的话我可以使用它 gt lambda r
  • Ansible local_action 指令

    我对 Ansible 很陌生 有一个简单的问题来了解我的理解local action指示 这是否意味着该命令完全在本地执行 假设你有这样的东西 local action command which nginx register check
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • 如何在 JavaScript 中将变量的内容写入文件[重复]

    这个问题在这里已经有答案了 可能的重复 firefox 如何启用本地 JavaScript 来读取 写入我的 PC 上的文件 https stackoverflow com questions 2846045 firefox how to
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • 当 ViewController 从 UIStoryboard 实例化时,isMemberOfClass 返回 no

    我有一个 OCUnit 测试类 PatientTestViewControllerTests 下面是界面 interface PatientTestViewControllerTests SenTestCase property nonat
  • “Electron”中“BrowserView”和“renderer” React 页面之间的消息

    我正在尝试弄清楚如何在两者之间交换消息main过程和BrowserView 我一直在使用ipc在 之间main过程和renderer 简单 的过程react renderer page 但现在 使用相同的技术 我在console of th
  • LibGDX 非常奇怪的错误 - 对象消失了

    当我创建我的第一个平铺地图创建器时libGDX 我注意到一个非常奇怪的错误 我创建这样的对象网格 private static final int GRID WIDTH 2400 private static final int GRID
  • 如何将 STRUCT - OR - JSON 传递给 Coldfusion CFC 方法

    我有一个现有的 CFC 在将结构传递到方法中时可以正常工作 问题是 我们现在还需要通过 JSON 将数据传递到同一函数中 这是 CFC 片段
  • 使用规则保护 Firestore 数据库。检查身份验证。够了吗?

    我是 Firebase 新手 正在尝试了解数据库规则 我正在使用 Firestore 我有一个数据库 基本上需要所有用户读取 也需要写入 所有用户都可以查看数据库中的文档 并通过某些操作更改某些字段 在某些情况下 他们会删除某些旧的过期文档
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 以编程方式应用样式资源

    我没有找到一种以编程方式做到这一点的方法 所以我在这里发布这个问题 我也没有找到与此相关的任何问题 我有一个资源样式 在 res values styles xml 中定义 我想做的是使用 java 将这种样式应用到我正在操作的 View
  • 如何将标记化中的多单词名称保留在一起?

    我想使用 TF IDF 特征对文档进行分类 一种方法是 from sklearn feature extraction text import TfidfVectorizer import string import re import n
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时