I wonder why software shall be deployed with its related debugging symbols. What are advantages and disadvantages? Are there code revealing issues (information security related issues)?
You can compile with or without debug info, or on unix systems, you can run strip
to remove debugging info from a compiled executable.
A lack of debug info will:
So in general development, you want debug info, but for QA and release, you generally want to leave it out. If you supply libraries to customers that you trust more, you may be more inclined to leave it in.