
Stewart Smith wrote:
On Tue, 29 May 2012 23:09:32 +1000, Julien Goodwin <luv-lists@studio442.com.au> wrote:
Ubuntu at least does this by storing all symbols for all relevent package versions "in the cloud" so you can use when needed. I think Debian were planning to deploy this as well, but I've no idea if that happened.
FWIW the "in the cloud" is how Microsoft has stored symbols for most of the Windows stack for at least 10 years.
Basically, debuggers can download them on demand - kind of useful if you find yourself in WinDBG (which I swear is where I've spent the majority of my Windows using time in the past decade).
You can download them on-demand in Debian, too. They're the -dbg packages. (Well, OK, you need to have enabled core dumps in advance, or to rerun the app. So probably not as awesome as what you describe in windbg.) The reason why they're separate packages, and not installed by default, is because they're a non-negligible increase in size. To take an example at random: twb@cigar:/srv/apt/debian/pool/main$ du -sch o/otcl/*deb | tail -1 660K total twb@cigar:/srv/apt/debian/pool/main$ du -sch o/otcl/*dbg*deb | tail -1 148K total That's 22% -- nearly a quarter -- of the package's space, consumed by debugging symbols alone. But OK, maybe that's because it's such a small package. How about a bigger one? twb@cigar:/srv/apt/debian/pool/main$ du -sch a/apache2/*dbg*deb | tail -1 11M total twb@cigar:/srv/apt/debian/pool/main$ du -sch a/apache2/*deb | tail -1 25M total Hmm, now we're up to 44% -- nearly half! -- of the space being used by debugging symbols. OK, what about the whole of Debian? twb@cigar:/srv/apt/debian/pool/main$ find -name \*.deb -print0 | du -sch --files0-from - | tail -1 130G total twb@cigar:/srv/apt/debian/pool/main$ find -name \*dbg*.deb -print0 | du -sch --files0-from - | tail -1 46G total 35% of Debian's entire binary mirror[*] is debugging symbols! [*] OK technically I am only mirroring main for i386 and amd64, and exclude sources. But you get the idea.