gpt4 book ai didi

c++ - 调试已发布软件的 C++ 核心文件

转载 作者:搜寻专家 更新时间:2023-10-31 01:57:29 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来调试从我的软件的已发布版本(使用 gcc 编译的 c++ 代码)发送给我的核心文件。理想情况下,我希望能够部署发布版本,并保留调试版本以用于调试,因此我有符号表等。

我的问题是(据我所知)调试和发布版本不能保证相同 - 因此当我启动 gdb 并指向我的调试可执行文件时,来自该领域的核心文件可能看起来像垃圾。

有没有办法在不影响我发布的软件的大小或性能的情况下解决这个问题(问题在这里)?这是一个大型应用程序,客户可能无法接受调试版本的性能。我看过构建一次(调试)的建议,然后剥离符号表并将其作为发布构建发布,但我会看到这种方法会影响性能,不是吗?

有没有人对他们已经尝试过或目前正在使用的解决此问题的方法有建议?谢谢!

最佳答案

您可以在启用优化的情况下进行编译和链接,并且仍然会生成调试符号 (-O3 -g),然后提取调试符号。这样你就有了调试符号,但可以在没有它们的情况下发货,而且你不会有性能损失或其他问题。参见 How to generate gcc debug symbol outside the build target?关于如何做到这一点。

关于c++ - 调试已发布软件的 C++ 核心文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568377/

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