2016-11-22 9 views
0

プロセスがクラッシュし、墓石(墓石)が生成されました。信号6(SIGABRT)によってトリガされました。そして、バックトレースは浅いです:スタック内のgdbのライブラリ(so)のアドレスから情報を取得する方法

signal 6 (SIGABRT), code 0 (?), fault addr -------- 
    r0 00000000 r1 000008b5 r2 00000006 r3 000008b5 
    r4 00000006 r5 00000002 r6 2b094be4 r7 0000010c 
    r8 00000038 r9 00000002 sl 2c653680 fp 2c653c98 
    ip 2c655920 sp 2c653560 lr 2af9ecf4 pc 2af9d8d4 cpsr 20000010 
backtrace: 
    #00 pc 0002c8d4 /lib/libc.so.6 (raise+60) 
    #01 pc ffffffff <'unknown'> 

、疑いのライブラリに関すると、スレッド内のトレースを見つけ、マップを経由してアドレスを転送します。 address2lineツールでシンボルの詳細を表示するにはシンボルは.dataセクションにあります。このような出力:

$d 
crtstuff.c:? 

は、それから私は、GDBによって、実行時に(そう)ライブラリから事故点付近のアドレスを経由して情報を取得したいです。実現可能かどうか?はいの場合、それを行う方法?

答えて

0

どのようにするのですか?

私はあなたがええ、それは素晴らしいです(gdb) info symbol 0x123456

+0

を探していると思います。ありがとうございました! –