构建 > 高级 > 调试信息,您有三个选项:none、full 或 pdb-only. 哪种设置最适合发布版本? 那么,ful-6ren">
gpt4 book ai didi

c# - 我应该使用调试信息编译发布版本 "full"或 "pdb-only"吗?

转载 作者:IT老高 更新时间:2023-10-28 11:06:51 25 4
gpt4 key购买 nike

在 C# 项目的 Visual Studio 中,如果您转到项目属性 > 构建 > 高级 > 调试信息,您有三个选项:nonefullpdb-only.

哪种设置最适合发布版本?


那么,fullpdb-only 有什么区别?

如果我使用 full 会有性能影响吗?如果我使用 pdb-only 会更难调试生产问题吗?

最佳答案

我会使用 pdb-only 构建。您将无法将调试器附加到已发布的产品,但如果您遇到故障转储,您可以使用 Visual Studio 或 WinDBG检查崩溃时的堆栈跟踪和内存转储。

如果您使用 full 而不是 pdb-only,您将获得相同的好处,除了可执行文件可以直接附加到调试器。您需要根据您的产品和客户确定这是否合理。

确保将 PDB 文件保存在某个地方,以便在收到崩溃报告时可以引用它们。如果您可以设置 symbol server存储那些调试符号,这样更好。

如果您选择使用 none 进行构建,那么当现场发生崩溃时,您将无法追索。您将无法对事故进行任何形式的事后检查,这可能会严重影响您追查问题的能力。

关于性能的说明:

两者John RobbinsEric Lippert写过关于 /debug 标志的博文,他们都表示此设置对性能的影响。有一个单独的 /optimize 标志,指示编译器是否应该执行优化。

关于c# - 我应该使用调试信息编译发布版本 "full"或 "pdb-only"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com