【问题标题】:Add debug symbols when linking static library链接静态库时添加调试符号
【发布时间】:2019-09-14 05:28:16
【问题描述】:

我正在为 macOS 开发 Qt 应用程序。在那里我将静态库链接到可执行文件。我想将 lib 构建中生成的调试符号添加到可执行文件中。我怎样才能做到这一点?

我正在使用以下选项构建库:

CONFIG +=force_debug_info CONFIG +=separate_debug_info

提前致谢

【问题讨论】:

  • 库和应用程序都是基于 qt 的吗?自己编译库吗?
  • 是的,都是基于 Qt 的,我自己在编译库

标签: macos qt static-libraries static-linking debug-symbols


【解决方案1】:

您是否尝试过删除这条线

CONFIG +=separate_debug_info

如果您查看docs(搜索“separate_debug_info”),它似乎与您想要实现的目标相反。但是,该选项似乎仅在 linux 平台上有效。

【讨论】:

  • 是的,我试过了,但是我有一个与静态库对应的文件,但符号没有嵌入到可执行文件中
  • @RuLoViC 你怎么知道符号不在那里?你能提供更多关于它的细节吗?我刚刚尝试创建一个简单的静态库并链接到一个应用程序(均基于 Qt),并且我能够调试库中的调用(即设置断点等)。顺便说一句,我更新了上面的答案,因为文档明确指出该选项仅在 linux 上可用。
  • 我正在做的是模拟崩溃并检查Apple生成的.crash文件(我正在使用OSX环境)。在那里,有堆栈跟踪。用符号我看到文件和行号
  • 请详细说明如何创建崩溃文件以及如何检查符号
猜你喜欢
  • 2011-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-19
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多