加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 调试vs发布优化.net(分发给用户时的担忧)

发布时间:2020-12-15 07:38:45 所属栏目:百科 来源:网络整理
导读:将Debug与Release版本分发给公众有任何安全或性能问题吗? 大多数情况下,我只是将Debug文件夹中的.exe文件(以及所需的依赖项)打包出来并将其提供给用户. 有什么理由选择比另一个更好的分配? 解决方法 没有安全问题,我可以想到.最肯定的是一个性能问题,您的
将Debug与Release版本分发给公众有任何安全或性能问题吗?

大多数情况下,我只是将Debug文件夹中的.exe文件(以及所需的依赖项)打包出来并将其提供给用户.

有什么理由选择比另一个更好的分配?

解决方法

没有安全问题,我可以想到.最肯定的是一个性能问题,您的程序集的Debug构建包含一个属性(DebuggableAttribute),它将始终阻止抖动优化器优化代码.这可能会对运行程序的性能产生很大的影响.抖动执行的优化记录在 this answer中.

你可能有内存消耗的问题.垃圾回收器将以不同的方式运行,保持局部变量活动直到方法体结束.这是一个角落案例,假设您使用现实的数据,测试应用程序时应该诊断出这样的问题.

特定于VB.NET,运送Debug构建可以非常容易地导致您的程序与OutOfMemoryException崩溃,当它运行在用户的机器上,而不附加调试器.它由于WeakReferences上的漏洞而失败,由“编辑继续”使用以跟踪具有WithEvents关键字的事件处理程序的类.

如果您不需要由抖动优化器生成的perf增强功能,并且不运送VB.NET程序集,那么就不用担心.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读