【问题标题】:Pros and Cons of distributing PDB files in a release build of a Desktop app在桌面应用程序的发布版本中分发 PDB 文件的优缺点
【发布时间】:2014-01-10 13:11:51
【问题描述】:

我想在我的桌面应用程序的自动崩溃报告中获得更详细的异常。

我正在考虑在我的发布版本中包含 PDB 文件,但我没有在网上找到好的建议。

我看到很多人建议生成故障转储,但有时我无法生成或检索/获取其他文件,我所拥有的只是包含堆栈跟踪的初始崩溃报告。

在分发给成千上万用户的桌面应用程序的发布版本中发布 PDB 有什么危险?

【问题讨论】:

  • 危险在于你的用户会为你调试你的代码,告诉你它有什么问题。如果你想要文件+行信息,那么你必须包含 pdbs。请记住,它不可靠,代码已经过优化,因此方法会丢失,因为它们被内联了,并且行号可能会因为代码被移动而关闭。

标签: c# .net windows build release


【解决方案1】:

优点:想不出来。

缺点:交付 PDB 会导致您的应用程序使用更多的存储空间(大约 3 倍),您的用户可能不喜欢。

与在您拥有与用户计算机上崩溃的应用程序相匹配的源和 PDB 的计算机上诊断崩溃报告相比,交付 PDB 策略有哪些更好的方法?

【讨论】:

  • 我并没有声称任何事情是好是坏......我只是在询问利弊:)
  • 我知道尺寸增加了,这在我的场景中不是问题。
  • 如果您正在考虑该选项,我假设您有一些优点。我想不出,但也许你有一个特殊的环境?
  • 我只需要一个带有行号的详细堆栈跟踪,包括我从用户那里获得的崩溃报告中的其他信息。我只是在寻找方法来检索它。当然,当我获得所有需要的信息时,问题的诊断将在我的机器上完成。最好有尽可能多的细节(堆栈跟踪、进程信息、故障转储),而不是一些基本信息(例如异常类型和消息)。
  • 我发给用户的桌面应用程序体积相对较小。所以增加 3 倍的大小并不是什么大问题。
猜你喜欢
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多