命令:
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也小了不少。