[LLVMdev] "Cannot fine DIE"
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:
DW_CFA_def_cfa (4 (esp), 4)
DW_CFA_offset (8 (eip), 0)
Instructions: Init State: CFA=esp+4 eip=[CFA]
I'm not sure how the contents of this structure relate to the various LLVM
API calls used in creating debugging info...
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev