Boost logo

Boost-Build :

Subject: Re: [Boost-build] PDB support, pt. 2
From: Ian Emmons (iemmons_at_[hidden])
Date: 2009-07-31 14:46:40


On Jul 27, 2009, at 1:24 PM, Michael Weber wrote:
> 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

Just weighing in with my own opinion, but I would say that PDB files
have been the Visual Studio default for so long now that many younger C
++ coders probably don't even realize that there is any other option.

Cheers,

Ian



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