[lldb-dev] LLDB failed to locate source when dwarf symbols are inside compile unit on Linux

Jeffrey Tan via lldb-dev lldb-dev at lists.llvm.org
Mon Jan 9 15:42:58 PST 2017


Hey Greg, I just confirmed this with our build team. I seem to have
misunderstood the location of debug symbol. It is actually not inside each
individual object file but:

The debug info in dev mode sits in the .debug_* sections of the shared
libraries (we don't use debug fission).

One potential complicating factor is that we relativize the
DW_AT_comp_dirattributes
in the DWARF info, so that it's almost always just a long reference to the
current working directory (e.g. .///).


I do not know why this(symbol in shared library) would cause the bug though.


Jeffrey

On Mon, Jan 9, 2017 at 1:57 PM, Greg Clayton <clayborg at gmail.com> wrote:

> Comments below.
>
> On Jan 9, 2017, at 1:10 PM, Jeffrey Tan via lldb-dev <
> lldb-dev at lists.llvm.org> wrote:
>
> Hi,
>
> O ur company is using Buck(https://buckbuild.com/) to build internal
> service. Recently the build team made a change in buck to not merge dwarf
> symbols from each object file into final binary so debugger needs to read
> source/symbol table from compilation unit itself.
>
>
> How are debug symbols expected to be found? Is fission being used where
> the DWARF for each compile unit is in .dwo files and the main executable
> has skeleton DWARF? I will skip all other questions until we know more
> about how and where the DWARF is.
>
> Greg Clayton
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170109/b4101c1a/attachment.html>


More information about the lldb-dev mailing list