サードパーティのライブラリをテストしていますが、クラッシュします。クラッシュの理由を知りたいと思ったとき、私の gdb は利用可能なデバッグ シンボルがないことを教えてくれました
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb53ffb70 (LWP 3722)]
0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
gdb コンソールでbt fullを発行すると、以下のような一連の行が表示されます
#0 0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
No symbol table info available
Makefile の CFLAGS を確認した後、ライブラリを再コンパイルしました。値は常に問題ありませんでしたが、とにかく再コンパイルしました
CFLAGS = -g -O2
同じ運でテストを再度実行しましたが、共有ライブラリのデバッグ シンボルはありませんでした。
ここで何が欠けていますか?
Centos 6.0 を使用しており、以前に Opensuse にライブラリをインストールしましたが、この問題は発生しませんでした。おそらく、Centos のインストールに関係している可能性があります。
誰かが気になる場合に備えて、私は Doubango のライブラリで webrtc2sip をテストしています。
編集: デバッグ シンボルが正しく読み込まれています
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x002fb830 0x0031339f Yes (*) /lib/ld-linux.so.2
0x00115040 0x00120028 Yes /usr/local/lib/libtinySAK.so.0
0x00133f30 0x0018b378 Yes /usr/local/lib/libtinySIP.so.0
0x001d8ac0 0x00201b98 Yes /usr/local/lib/libtinyNET.so.0
0x00215dd0 0x0023f638 Yes /usr/local/lib/libtinyDAV.so.0
0x0024eec0 0x00261728 Yes /usr/local/lib/libtinyMEDIA.so.0
0x0026bb00 0x002774d8 Yes /usr/local/lib/libtinyHTTP.so.0
0x002ae340 0x002b0358 Yes /usr/local/lib/libtinyXCAP.so.0
0x002b3990 0x002b8d18 Yes /usr/local/lib/libtinySMS.so.0
0x002be630 0x002c9388 Yes /usr/local/lib/libtinyMSRP.so.0
0x002de240 0x002e8e18 Yes /usr/local/lib/libtinySDP.so.0
0x00323060 0x00345778 Yes /usr/local/lib/libtinyRTP.so.0