Use build-id ( https://fedoraproject.org/wiki/Releases/FeatureBuildId ), strip the debug info into its own object file, and point gdb at your debug objects when it comes time to debug. Lean distributable binaries, yet still debugable. Win-win.
The next step up in convenience is having the source-level debugger understand how to fetch the corresponding source files from a server based on revision IDs or content hashes.
Between those two features, you can open a core dump on any machine, and immediately have access to both debug info and source without manually mucking around with anything. If you spend a lot of time looking at core dumps from a myriad of different programs and versions of those programs, this is a lifesaver.