[LLVMdev] "Cannot fine DIE"

Talin viridia at gmail.com
Wed Sep 1 08:31:02 PDT 2010

On Wed, Sep 1, 2010 at 5:31 AM, Jonas Maebe <jonas.maebe at elis.ugent.be>wrote:

> On 01 Sep 2010, at 08:47, Talin wrote:
> > Once again, I have no idea what this means or how to go about
> > debugging it.
> > This is my biggest frustration with DIFactory - there's absolutely
> > no way to
> > verify that the DWARF debugging information that I've emitted into
> > my module
> > is correct or even sensible. The only way to test it is to try and
> > debug it
> > with gdb, but all that will tell you is that *something* failed - it
> > won't
> > tell you where or what. It's not so much like looking for a needle
> > in a
> > haystack - more like looking for a particular needle in a needlestack.
> You can also try running  "dwarfdump --verify" on your dsymutil file
> (not on the dSYM bundle, but on the file inside the bundle). It
> sometimes gives a bit more information. Also simply using "dwarfdump -
> a" can be helpful to see wrong references (e.g., if the type info is
> structurally invalid then dwarfdump may simply stop dumping at that
> point, so you know where the error is).
> Ah OK thanks, that's helpful.

I tried what you suggested, and it prints out about 4000 lines and then
segfaults, The last lines that it prints out are:

.debug_frame contents:

0x00000000: CIE
        length: 0x00000010
        CIE_id: 0xffffffff
       version: 0x01
  augmentation: ""
    code_align: 1
    data_align: -4
   ra_register: 0x08
                DW_CFA_def_cfa (4 (esp), 4)
                DW_CFA_offset (8 (eip), 0)
  Instructions: Init State: CFA=esp+4     eip=[CFA]

0x00000014: FDE
        length: 0x00000028
   CIE_pointer: 0x00000000

I'm not sure how the contents of this structure relate to the various LLVM
API calls used in creating debugging info...

> Jonas
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-- Talin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100901/2ab543ea/attachment.html>

More information about the llvm-dev mailing list