[lldb-dev] assert in symbolfiledwarf.cpp

Greg Clayton gclayton at apple.com
Thu Nov 1 10:31:12 PDT 2012


Fixed with:

% svn commit
Sending        source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Transmitting file data .
Committed revision 167236.

It won't crash anymore, butyou will want to find out why this assert was firing off. A DWARF DW_TAG_compile_unit should have been what caused us to create the lldb_private::CompileUnit item in the first place, so for it not be able to be found a little bit later means something is very wrong.

Greg


On Nov 1, 2012, at 5:42 AM, Carlo Kok <ck at remobjects.com> wrote:

> In SymbolFileDWARF.cpp:959 there's code like:
>    DWARFCompileUnit* dwarf_cu = GetDWARFCompileUnit(sc.comp_unit);
>    assert(dwarf_cu);
> 
> 
> However in some circumstances it can be that dwarf_cu returns null (if the MACH file can't find the compile unit for this source file).
> 
> A simple:
> 
>    if (!dwarf_cu)
>            return false;
> 
> Will at least not make it crash(it won't find the symbol, but that's a different issue, it shouldn't assert on something like this).
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev




More information about the lldb-dev mailing list