Boost logo

Boost-Build :

Subject: Re: [Boost-build] PDB support, pt. 2
From: Michael Weber (michael.weber_at_[hidden])
Date: 2009-07-27 13:24:26


On Sat, Jul 25, 2009 at 2:29 AM, Vladimir Prus <ghost_at_[hidden]> wrote:
>
> On Saturday 25 July 2009 Vladimir Prus wrote:
>
> >
> > After an embrassingly long delay, I've checked in this patch from
> > Alexey Pakhunov to make Boost.Build aware of .pdb files:
> >
> >       http://lists.boost.org/boost-build/2009/01/21175.php
> >
> > The patch as actually checked in is at:
> >
> >       https://svn.boost.org/trac/boost/changeset/55154
> >
> > This should enable installing of .pdb files. There's another
> > patch from Michael Weber to improve <debug-store>database; I'll
> > get to that now.
>
> It's now in:
>
>        https://svn.boost.org/trac/boost/changeset/55155
>
> Michael, for my own education, can you clarify a couple of points.
> You have said:
>
>        1. When compiling source for an executable target, the compile-c-c++
>        rule intializes PDB_NAME on a per-source basis. i.e., foo.cpp gets
>        foo.pdb, and the compile-c-c++ action uses it with the optional
>        PDB_CFLAG. The linker automatically collects them together into
>        <bin-target-name>.pdb.
>
> What will happen if that /Fd is not passed? Will the compiler still
> produce per-object-file .pdb files and then create <bin-target-name>.pdb?
> Or it will put everything into vc.pdb? If the latter, does putting
> intermediate debug info into separate .pdb files affect compilation
> time or disk space requirements?
>
> Also, do msvc users think it's reasonable to have debug-store=database
> by default now?
>
> Thanks,
> Volodya
>

Hi Volodya, thank you for integrating this option.

If /Fd is not passed, then the compiler puts all debug info into
vc.pdb (the linker can still, optionally, generate
<bin-target-name>.pdb). I am not aware of any difference in
compilation time or disk space requirements -- I did not notice a
change in either, but I also did not conduct detailed tests. I am
pretty sure any differences are negligible.

I think most msvc users would agree that debug-store=database is a
good default - it is the option we've used on many large projects for
many years now. Also, the Visual Studio IDE uses this option by
default for new projects.

cheers,
Michael


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk