我是一名新手,对于Windows开发和编程技术并不是很熟悉(我的专业是半导体工程),但至少我了解C/C++的基础知识。
关于Windows C++项目,我发现在Visual Studio中,只要有PDB文件,就可以在调试和发布版本下进行调试(添加断点和查看变量值)。我做了一些研究,发现“可调试”的发布版本是否会影响性能呢?
我还了解到,可以在Visual C++项目中禁用调试。如果禁用调试,那么发布版本的性能是否会比启用调试的发布版本更好呢?
非常抱歉我的英语不太好。
我是一名新手,对于Windows开发和编程技术并不是很熟悉(我的专业是半导体工程),但至少我了解C/C++的基础知识。
关于Windows C++项目,我发现在Visual Studio中,只要有PDB文件,就可以在调试和发布版本下进行调试(添加断点和查看变量值)。我做了一些研究,发现“可调试”的发布版本是否会影响性能呢?
我还了解到,可以在Visual C++项目中禁用调试。如果禁用调试,那么发布版本的性能是否会比启用调试的发布版本更好呢?
非常抱歉我的英语不太好。
在Windows中,二进制文件可以使用或不使用PDB文件进行调试。 PDB是一种数据库,为调试器提供信息,例如本地变量的名称,本地变量的类型,偏移量到源映射等等...这些都不是严格必要的,但使其更加美好。如果您愿意,您可以直接使用没有PDB的汇编进行调试。
因此,实际上不存在“禁用调试”的概念。真正的问题在于您是否构建了Debug / Release版本。 Debug版本通常比Release版本更易于调试,因为编译器会注意保留有趣的本地变量并插入无操作以使步骤更加流畅。 Release版本主要关注最终输出的性能,并牺牲易于调试以实现它。