If the major Linux distributions made build ID information available in this form then the symbol problem would be solved – developers would just need to download file available here.
It’s probably already out of date, but I will try to update it occasionally.
I hope that my demonstration of how Linux symbol finding could be enhanced is useful as a proof of concept, or as an immediately useful way of locating symbol files on Ubuntu.
This article may require cleanup to meet Wikipedia's quality standards.
This third post explains how to more easily get symbols, and compares Linux to the situation on Windows.
One advantage of working on multiple platforms is the opportunity to realize what each one is missing.
However what is still missing is a way to download symbols to your local system, based purely on a build ID.Debuggers and profilers on Windows use symbol servers to automatically retrieve symbols.Typically they are configured to retrieve symbols for Windows and other Microsoft products, and perhaps other external products such as Mozilla or Source Mod. No special knowledge is required, and no time is wasted tracking down symbols. Anything that requires more knowledge or more time is, by definition, less efficient.In my previous posts I described a series of ad-hoc methods for getting symbols.To get symbols for crashes on your machine or your distribution of Linux this will usually work: In short, tracking down symbols on Linux is time-consuming, requires significant expert knowledge, and sometimes doesn’t work. In 2007 a proposal was made to embed build IDs in all Linux binaries.When doing post-mortem debugging even the DLLs and EXEs can be automatically retrieved from the symbol store based on a few identifiers recorded in the crash dump. I don’t need to know or care what version of the game or what service pack of Windows the customer was running, and I don’t need to think about package names or new repositories. Automatic symbol finding is critical for batch processing.