[Lldb-commits] [PATCH] D76672: [lldb/Reproducers] Always collect the whole dSYM in the reproducer

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 24 11:17:00 PDT 2020


JDevlieghere added a comment.

In D76672#1939583 <https://reviews.llvm.org/D76672#1939583>, @labath wrote:

> In D76672#1939377 <https://reviews.llvm.org/D76672#1939377>, @JDevlieghere wrote:
>
> > In D76672#1938629 <https://reviews.llvm.org/D76672#1938629>, @labath wrote:
> >
> > > It's not clear to me why this is needed.
> > >
> > > I mean, if lldb touches any of the files inside the dsym bundle, then they should be automatically recorded already, right? And if it doesn't then it does not need them...
> >
> >
> > The dSYM can contain other resources than just the Mach-O companion file, such as script for the OS plugins or opt remarks, which might not be used by the reproducers or even LLDB at all. Once you have the reproducer on your system, tools will find and use it because spotlight indexed it. Having only a partial dSYM is really undesirable as it can break LLDB and other tools in really unexpected ways.
>
>
> Interesting. Could that be fixed by adding the funny `.noindex` suffix to the reproducer name (or some subdirectory of it)?


Yes, it's an alternative I've considered. I prefer this approach because (1) conceptually a dSYM is a single unit, the fact that the bundle is actually a directory on disk is just an implementation detail and (2) it allows you to use the dSYM even when reproducer replay fails. As we're discovering bugs in the reproducers, we can usually still use the files inside it to the debug the issue, even if replay fails.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76672/new/

https://reviews.llvm.org/D76672





More information about the lldb-commits mailing list