在桌面应用程序的发布版本中分发PDB文件的优缺点

3
我希望在我的桌面应用程序的自动崩溃报告中获得更详细的异常信息。
我考虑在发布版本中包含PDB文件,但我在网上没有找到好的建议。
我看到很多人建议生成崩溃转储,但有时我无法生成或检索/获取其他文件,而只有包含堆栈跟踪的初始崩溃报告。
在将PDB文件发布到分发给数千用户的桌面应用程序的发布版本中,存在哪些风险?

1
危险在于用户会为您调试代码,告诉您哪里出了问题。如果您想要文件+行信息,则必须包含PDB文件。请记住,这不是可靠的,因为代码已经被优化,方法可能会丢失,因为它们被内联,而行号可能会偏移,因为代码已经移动。 - Hans Passant
1个回答

1

优点:想不到任何。

缺点:发送PDB将导致您的应用程序使用更多的存储空间(大约3倍),这可能不被用户所接受。

与在您拥有源代码和与用户机器上崩溃的应用程序匹配的PDB的计算机上诊断崩溃报告相比,发送PDB策略更好吗?


我并未宣称哪个更好或更差... 我只是在询问其利弊 :) - Faris Zacina
我知道尺寸增加的情况,但在我的场景中这不是问题。 - Faris Zacina
如果你正在考虑这个选项,我想你可能已经有一些专业人士在脑海中了。我自己想不出任何优点,但也许你的环境特殊? - StevieB
我只需要一个带有行号的详细堆栈跟踪,包括从用户那里获取的崩溃报告中的其他信息。我正在寻找检索该信息的方法。当我拥有所有所需信息时,问题的诊断将在我的机器上完成。最好尽可能提供详细信息(堆栈跟踪、进程信息、崩溃转储),而不仅仅是一些基本信息(例如异常类型和消息)。 - Faris Zacina
我要向用户提供的桌面应用程序相对较小,因此三倍大小的增加并不是什么大问题。 - Faris Zacina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接