分类:
2010-04-09 12:22:51
GNU实用工具程序objcopy的作用是拷贝一个目标文件的内容到另一个目标文件中。Objcopy使用GNU BFD库去读或写目标文件。Objcopy可以使用不同于源目标文件的格式来写目的目标文件(也即是说可以将一种格式的目标文件转换成另一种格式的目标文 件)。此处主要用于将程序的调试信息分离出来,实现release版本也带调试信息。
在Unix、Linux系统中借助objcopy可以轻松的实现调试信息的分离。操作步骤如下:
1 编译
gcc -g -o foo foo.c
2 生成单独的调试信息文件
objcopy –only-keep-debug foo foo.dbg
3 去除调试信息
objcopy –strip-debug foo
4 添加调试信息文件链接
objcopy –add-gnu-debuglink=foo.dbg foo
5 确认调试信息文件链接
objdump -s -j .gnu_debuglink foo