2016-11-22 2 views
0

Le processus s'est écrasé et grave (pierre tombale) a été généré. Il a été déclenché par le signal 6(SIGABRT). Et le backtrace est peu profonde:comment obtenir l'information via l'adresse de la bibliothèque (so) quand dans gdb

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'> 

dans la pile, trouver la trace de la bibliothèque et aussi suspectée dans le fil, transférer l'adresse via les cartes. Pour obtenir plus d'informations sur les symboles avec l'outil address2line. Alors que le symbole peut être dans la section .data. La sortie comme ceci:

$d 
crtstuff.c:? 

Ensuite, je veux obtenir l'information via l'adresse près du point d'accident de la bibliothèque (donc) dans l'exécution par gdb. Que c'est faisable? Si oui, comment le faire?

Répondre

0

comment le faire?

Je pense que vous cherchez (gdb) info symbol 0x123456

+0

Oui, il est grand. Je vous remercie! –