[lldb-dev] Problem with large sym files

Somorjai, Akos ASomorjai at graphisoft.com
Mon Sep 26 13:37:56 PDT 2011


Here are the 3 outputs:
1. dwarfdump --file-stats
2. dsymutil --verbose
3. dwarfdump -R



I couldn't generate fully generate the dSYM file, the usual error message
comes up. Still, I logged the dwarfdump -R output.

>From the numbers I think we're way over that 4 GB limit...

Best,

Ákos 


On 9/26/11 7:07 PM, "Greg Clayton" <gclayton at apple.com> wrote:

>> The problem is that we're back at square number one, I still get an
>>error
>> message from dsymutil while extracting the symbols from the main
>> executable:
>> 
>> 	error: unable to restore file position to 0x00000c58 for section
>> __DWARF.__debug_info
>> 
>> Any other ideas?
>
>Does this happen every time? Or just some of the time? Mach files have a
>4 GB limit of the section size, I hope you aren't getting close to that
>limit? 
>
>dwarfdump has a really goofy option I added to track such issues where
>you can display file data for your executable and all .o files. You run
>this on your executable (not your dSYM):
>
>% dwarfdump --show-children --file-stats a.out
> File       symtab            strtab            code data         DWARF
>debug       STABS debug       other             file
> ---------  ----------------- ----------------- -----------------
>----------------- ----------------- -----------------
>---------------------------------------
>      9104        192   2.11%       166   1.82%      1187  13.04%
>0   0.00%       202   2.22%      7357  80.81% a.out (i386)
>      4040         84   2.08%        73   1.81%       915  22.65%
>917  22.70%         0   0.00%      2051  50.77% /tmp/main.o (i386)
> =========  ================= ================= =================
>================= ================= =================
>=======================================
>     13144        276   2.10%       239   1.82%      2102  15.99%
>917   6.98%       202   1.54%      9408  71.58%
>
>It basically looks into your main executable and finds all of the .o
>files from the debug map and prints out stats at the end. You should run
>this on your main executable and see what the totals come out to.
>
>If you are able to get a dSYM file, you can view its section sizes:
>
>% dwarfdump -R /tmp/large.dSYM
>...
>__debug_abbrev   __DWARF          011ac000 00002278 00379000 00000000
>00000000 00000000 00000000 00000000 00000000    8.62K  0.00%
>__debug_aranges  __DWARF          011ae278 0004b098 0037b278 00000000
>00000000 00000000 00000000 00000000 00000000  300.15K  0.12%
>__debug_frame    __DWARF          011f9310 0014fd24 003c6310 00000000
>00000000 00000000 00000000 00000000 00000000    1.31M  0.52%
>__debug_info     __DWARF          01349034 0bc4a338 00516034 00000000
>00000000 00000000 00000000 00000000 00000000  188.29M 75.15%
>__debug_inlined  __DWARF          0cf9336c 00229b4f 0c16036c 00000000
>00000000 00000000 00000000 00000000 00000000    2.16M  0.86%
>__debug_line     __DWARF          0d1bcebb 00822243 0c389ebb 00000000
>00000000 00000000 00000000 00000000 00000000    8.13M  3.25%
>__debug_loc      __DWARF          0d9df0fe 0068d8f4 0cbac0fe 00000000
>00000000 00000000 00000000 00000000 00000000    6.55M  2.62%
>__debug_pubnames __DWARF          0e06c9f2 002b42e1 0d2399f2 00000000
>00000000 00000000 00000000 00000000 00000000    2.70M  1.08%
>__debug_pubtypes __DWARF          0e320cd3 00eec229 0d4edcd3 00000000
>00000000 00000000 00000000 00000000 00000000   14.92M  5.96%
>__debug_ranges   __DWARF          0f20cefc 00484c78 0e3d9efc 00000000
>00000000 00000000 00000000 00000000 00000000    4.52M  1.80%
>__debug_str      __DWARF          0f691b74 00cee6d0 0e85eb74 00000000
>00000000 00000000 00000000 00000000 00000000   12.93M  5.16%
>
>
>Let me know how big things are on your end when you get the chance.
>
>Greg Clayton
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Dumps.zip
Type: application/zip
Size: 192821 bytes
Desc: Dumps.zip
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20110926/a3cd49c5/attachment.zip>


More information about the lldb-dev mailing list