电子说
先写一个简单的文件1.c:
然后编译两个库,一个不加 -g, 一个加:
gcc 1.c -c
gdb -shared -fpic -o lib1.so 1.o
cp 1.c 2.c
gcc -c -g 2.c
gcc -shared -fpic -o lib2.so 2.o
下面介绍几种判断的方法:
1. 使用 objdump
可以看出,对于使用 -g的库, objdump --debugging会有很多 debug相关的信息输出。对于 没有加-g的库,则没有这样的输出。
也可用 readelf -w 或者 objdump -W
2.使用 gdb.
注意有输出: Reading symbols from lib2.so.。.done.
对于 lib1.so,输出为 Reading symbols from lib1.so.。.(no debugging symbols found)。..done.
全部0条评论
快来发表一下你的评论吧 !