如何查看一个库/可执行文件是debug/release版本?

命令:

readelf --debug-dump xx.so

遇到的问题

最近突然发现这条命令在我进行release build的时候,也还有很多debug信息的输出,经过仔细检查之后发现是因为:编译的 .so link了一个 debug版本的 .a 导致的。

How to root cause?

仔细检查该命令的输出里面的一些符号信息,发现是和boost库相关,于是进Makefile查看link的boost库的信息,刚好该boost 库编译出来的lib目录下又readme, 里面明确写了 -v debug。
同样的目录下找到了对应的release版本,重新readeld -S xx.so,没有输出。代表是真正的release版本了。编译出来的lib size也小了不少。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值