Monday, April 9, 2007

Debugging crashses/dumps using objdump

objdump is a useful tool for statically resolving symbols for core-dumps for a given
binary. It's equivalent xscale utility is known as xscale-elf-objdump.
you can ref. the man page for objdump to know how to use it, but here is the gist of
it ...

if for a given core-dump the PC points to address 61b34.

just type the following.

xscale-elf-objdump -S proSUN.elf --start-address=0x61b34 --stop-addres=0x61c00 -l

in listing3.txt you will find the following.

00061b34 :
mptscsih_detect(): /ecos-c/redhat/proSUN_new_auto/drivers/lsi/mptscsih.c:1414
Q_INIT(&hd->pendingQ, MPT_DONE_Q);

mem = hd->memQ;
for (ii=0; ii <>can_queue; ii ) {
freedoneQ = (MPT_DONE_Q *) mem;
61b34: e51bc040 ldr ip, [fp, -#64]
61b38: e50bc028 str ip, [fp, -#40]
Q_ADD_TAIL(&hd->freeQ.head, freedoneQ, MPT_DONE_Q);
61b3c: e51bc020 ldr ip, [fp, -#32]

which might make more sense to you.


About This Blog


  © Blogger templates The Professional Template by 2008

Back to TOP