先寫一個(gè)簡單的文件1.c:
然后編譯兩個(gè)庫,一個(gè)不加 -g, 一個(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會(huì)有很多 debug相關(guān)的信息輸出。對于 沒有加-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.
-
Linux
+關(guān)注
關(guān)注
87文章
11157瀏覽量
208457 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
897瀏覽量
27959
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論