【问题标题】:Linking in debug symbols链接调试符号
【发布时间】:2011-06-29 22:05:46
【问题描述】:

我正在 Cygwin 下的 Windows 7 上构建 thrift 0.2.0。所有编译选项都说“-g -O2”并且编译的目标文件包含调试符号。但是,正如 gdb 和 nm 所证实的那样,最终的可执行文件缺少它们。输出中没有错误消息、警告或可疑标志。链接标志之间没有“-s”。会发生什么?我如何诊断它?

【问题讨论】:

  • 是否存在构建库的中间链接器步骤?如果是这样,那可能就是 --strip-debug 发生的地方。
  • 这似乎是一个相当严格的单步链接: $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(thrift_CXXFLAGS) $ (CXXFLAGS) $(thrift_LDFLAGS) $(LDFLAGS) -o $@ $(thrift_OBJECTS) $(thrift_LDADD) $(LIBS)
  • 我对 Unix 环境大体上很舒服,但我不使用它来工作,所以我不知道从这里开始。

标签: gcc linker cygwin debug-symbols


【解决方案1】:

显然,libtool 是问题所在。在没有它的情况下运行相同的命令会生成带有符号的程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 2012-01-27
    • 2016-08-26
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多