gcc:在共享库中启用调试符号

Alp*_*neo 12 c gcc compilation shared-libraries debug-symbols

我正在创建一个共享库使用gcc并怀疑共享库可能存在一些内存泄漏.要进行调试,我需要在创建共享库时启用调试符号.

要构建,我正在使用gcc -g ...(-g用于启用调试信息)

但是库(*.so文件)大小并没有改变,两者都-g没有-g.此外,我没有从像这样的工具中获得任何有用的信息VALGRIND.

谁能指出我的错误?

lot*_*har 16

您需要使用-g所有步骤(编译源文件和链接).

  • 还要确保在链接时不要指定 -s,因为这会删除调试信息。 (2认同)
  • gnu 链接器并不真正需要 -g 标志,因为 ld 手册页说:“-g 忽略。提供与其他工具的兼容性。”。它仅在编译阶段需要。 (2认同)