PECompact is a UPX like tool. It can compress executable file. BUT, symbol info is kept.
site: http://pecompact.com/pecompact.php
quot from product description:
Does things the 'right' way
From skipping compression of shared sections of DLLs, preserving debug information, or leaving shell icons uncompressed - you can be PECompact does things the 'right' way. It has had MANY years to mature and be worked free of bugs.