[help] Linux kernel debug error: Cannot find DIE
朱庆
zqing1986@gmail.com
Thu Jul 12 08:44:00 GMT 2012
I accept your suggestion and have a look at dwarf dump, and find some
interestings:
I just write very 2 simple case, and link them.
There is warning like with the linked object:
objdump: Warning: Bogus end-of-siblings marker detected at offset 7a
in .debug_info section
Does this warning will affect debugging that causes errors I met?
Thanks
zhuqing
2012/7/12 Tom Tromey <tromey@redhat.com>:
>>>>>> ">" == 朱庆 <zqing1986@gmail.com> writes:
>
>>> Dwarf Error: Cannot find DIE at 0x1634a7 referenced from DIE at
>>> 0x17a459 [in module linux-kernel/linux-2.6.32.6/Build/vmlinux]
>
>>> I'm not sure this is caused by incorrect dwarf info generated by
>>> open64 compiler or gdb issues, since the gcc build kernel binary is
>>> able to debug.
>>> I compared the dwarf info output of the two compiler with objdump
>>> --dwarf=info , open64's binary is about 1.95GB and gcc's binary is
>>> 1.72GB, is that too large?
>
>>> Can someone give any clue on this to determine what is wrong here?
>
> There isn't an easy way to know what has gone wrong here.
>
> It could be incorrect DWARF -- meaning a compiler or (less likely)
> linker bug. Or, it could be a gdb bug.
>
> I would debug it by using objdump or readelf to look at the DWARF around
> the DIEs mentioned in the error message.
>
> The size of the DWARF is probably not an issue.
> At least, this is not the error I would expect in that situation.
>
> Tom
More information about the Gdb
mailing list