[Scons-dev] Looking for help mapping Windows pdb semantics to SCons

Andrew C. Morrow andrew.c.morrow at gmail.com
Fri May 24 17:45:01 EDT 2019


Hi Adam -

I'm working in this same area (caching and debug info handling) for the
SCons based MongoDB build system, right now.

Overall, I am trying to move to a model on Windows that is more like using
-gsplit-dwarf with the GNU tools, where every object file gets a
(cacheable) .pdb, and then we link with /DEBUG:fastlink, and defer the
final per library/executable PDB to a post link step by using mspdbcmf.
This is similar to using dwp to package up the .dwo files.

You can see some of my very much work-in-progress state here:
https://github.com/acmorrow/mongo/blob/SERVER-33661/site_scons/site_tools/separate_debug.py

Unfortunately, I've encountered one showstopper issue for us:
https://developercommunity.visualstudio.com/content/problem/573023/absolute-paths-for-associated-pdb-files-are-record.html,
and I'm waiting to hear back on it.

The next steps in my current approach would be to move the actions that
produce the finalized .dwp, .dSYM, or .pdb file into separate builders,
rather than adding them as actions to the .Program and .SharedLibrary
builders. That would allow the build tasks to finalize the debug
information to be executed separately, or not at all for developer builds
where keeping the debug info in separated per-object files is sufficient.

If you are interested, I'd be happy to collaborate (off-list initially?) to
discuss some of the issues we have encountered and find a way to avoid
duplication of effort. Improving the debug info handling situation is
something I'm keenly interested in, as it is a major bottleneck in our
build performance.

Thanks,
Andrew



On Fri, May 24, 2019 at 3:45 PM Tomasz Gajewski <tomga at wp.pl> wrote:

>
> Adam Gross via Scons-dev <scons-dev at scons.org> writes:
>
> > I am investigating better supporting caching with SCons at VMware and
> > am trying to see if I can teach SCons about pdb files.
>
> Is there any problem for your use cases in using /Z7 option for
> compilation? That tells the compiler to embed debug data in .obj file
> like on linux. Then during linking pdb's are created. It works at least
> for shared libraries and executables.
>
> Regards
> Tomasz Gajewski
>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20190524/17d4e2e3/attachment-0001.html>


More information about the Scons-dev mailing list