Hi list! For various reasons I always preferred to have debug info separate from the binaries. Unfortunately, emitting debug info to PDBs doesn't work so well, in particular when it comes to static libs and precompiled headers. Because of that I tried to rectify this and created a patch against msvc.jam. (see ticket #8889 https://svn.boost.org/trac/boost/ticket/8889) This (and a tiny script to collect all generated PDBs into the library directory) got me there: boost_log_setup-vc120-mt-1_54.dll 1.158.656 boost_log_setup-vc120-mt-1_54.lib 24.244 boost_log_setup-vc120-mt-1_54.pdb 123.055.104 boost_log_setup-vc120-mt-gd-1_54.dll 3.206.144 boost_log_setup-vc120-mt-gd-1_54.lib 24.408 boost_log_setup-vc120-mt-gd-1_54.pdb 219.220.992 boost_log-vc120-mt-1_54.dll 486.400 boost_log-vc120-mt-1_54.lib 241.174 boost_log-vc120-mt-1_54.pdb 10.857.472 boost_log-vc120-mt-gd-1_54.dll 1.071.616 boost_log-vc120-mt-gd-1_54.lib 242.278 boost_log-vc120-mt-gd-1_54.pdb 18.918.400 libboost_log_setup-vc120-mt-1_54.lib 188.671.120 libboost_log_setup-vc120-mt-1_54.pdb 132.616.192 libboost_log_setup-vc120-mt-gd-1_54.lib 220.099.308 libboost_log_setup-vc120-mt-gd-1_54.pdb 132.837.376 libboost_log-vc120-mt-1_54.lib 53.565.446 libboost_log-vc120-mt-1_54.pdb 7.942.144 libboost_log-vc120-mt-gd-1_54.lib 32.516.250 libboost_log-vc120-mt-gd-1_54.pdb 8.114.176 Boost.Log was chosen for exhibition only. All files were built with debug-symbols=on debug-store=database. Link-time code generation was enabled for all release builds, too. May be, someone finds this helpful. Ciao Dani
On Tue, Jul 23, 2013 at 7:39 PM, Daniela Engert
Hi list!
For various reasons I always preferred to have debug info separate from the binaries. Unfortunately, emitting debug info to PDBs doesn't work so well, in particular when it comes to static libs and precompiled headers. Because of that I tried to rectify this and created a patch against msvc.jam. (see ticket #8889 https://svn.boost.org/trac/boost/ticket/8889)
This (and a tiny script to collect all generated PDBs into the library directory) got me there:
boost_log_setup-vc120-mt-1_54.dll 1.158.656 boost_log_setup-vc120-mt-1_54.lib 24.244 boost_log_setup-vc120-mt-1_54.pdb 123.055.104 boost_log_setup-vc120-mt-gd-1_54.dll 3.206.144 boost_log_setup-vc120-mt-gd-1_54.lib 24.408 boost_log_setup-vc120-mt-gd-1_54.pdb 219.220.992 boost_log-vc120-mt-1_54.dll 486.400 boost_log-vc120-mt-1_54.lib 241.174 boost_log-vc120-mt-1_54.pdb 10.857.472 boost_log-vc120-mt-gd-1_54.dll 1.071.616 boost_log-vc120-mt-gd-1_54.lib 242.278 boost_log-vc120-mt-gd-1_54.pdb 18.918.400 libboost_log_setup-vc120-mt-1_54.lib 188.671.120 libboost_log_setup-vc120-mt-1_54.pdb 132.616.192 libboost_log_setup-vc120-mt-gd-1_54.lib 220.099.308 libboost_log_setup-vc120-mt-gd-1_54.pdb 132.837.376 libboost_log-vc120-mt-1_54.lib 53.565.446 libboost_log-vc120-mt-1_54.pdb 7.942.144 libboost_log-vc120-mt-gd-1_54.lib 32.516.250 libboost_log-vc120-mt-gd-1_54.pdb 8.114.176
Boost.Log was chosen for exhibition only. All files were built with debug-symbols=on debug-store=database. Link-time code generation was enabled for all release builds, too.
It looks like static libs contain debug info anyway as they are always larger than the generated pdb.
Am 23.07.2013 17:47, schrieb Andrey Semashev:
On Tue, Jul 23, 2013 at 7:39 PM, Daniela Engert
wrote: libboost_log_setup-vc120-mt-1_54.lib 188.671.120 libboost_log_setup-vc120-mt-1_54.pdb 132.616.192 libboost_log_setup-vc120-mt-gd-1_54.lib 220.099.308 libboost_log_setup-vc120-mt-gd-1_54.pdb 132.837.376 libboost_log-vc120-mt-1_54.lib 53.565.446 libboost_log-vc120-mt-1_54.pdb 7.942.144 libboost_log-vc120-mt-gd-1_54.lib 32.516.250 libboost_log-vc120-mt-gd-1_54.pdb 8.114.176
It looks like static libs contain debug info anyway as they are always larger than the generated pdb.
In many cases, your observed size relationship is true, but not in all of them. E.g.: libboost_exception-vc120-mt-1_54.lib 53.642 libboost_exception-vc120-mt-1_54.pdb 102.400 libboost_exception-vc120-mt-gd-1_54.lib 11.440 libboost_exception-vc120-mt-gd-1_54.pdb 102.400 To exhibit the size advantage of PDBs over 'old-style' debug info embedded into static libs, I've rebuilt Boost.Log with link=static debug-store=object. This is the result: libboost_log_setup-vc120-mt-1_54.lib 343.234.460 libboost_log_setup-vc120-mt-gd-1_54.lib 374.488.888 libboost_log-vc120-mt-1_54.lib 79.564.296 libboost_log-vc120-mt-gd-1_54.lib 59.539.544 Ciao Dani
participants (2)
-
Andrey Semashev
-
Daniela Engert