For complex programs the size of the debug information (especially for C++ programs) may be considerable, and it may impact your deployment time.
Hopefully you will not need the debug symbols as often. What if you could store the debug information on only one server instead of N?
Turns out you can pull this trick easily with the following bash script (which you can include in your Makefile as a post-build step):
if objcopy --only-keep-debug $1 $DBGFILE; then
#strip -d $1 # strip debug info, or strip everything:
objcopy --add-gnu-debuglink=$DBGFILE $1
"But how is the debugger going to know how to locate the debug information, since we stripped it out?" one may ask.
objcopy --add-gnu-debuglinkstep creates a special section inside the ELF executable, which will point to the (network) location of the debug information. Both GDB and ZeroBUGS know how to handle it transparently.