编译加 –g 生成带调试信息的文件
[root@localhost home]# g++ -g 2.cpp
拷贝生成符号表
[root@localhost home]# objcopy --only-keep-debug a.out a.out.symbol
[root@localhost home]# ls -l a.*
-rwxr-xr-x 1 root root 8905 Feb 19 17:42 a.out
-rwxr-xr-x 1 root root 8361 Feb 19 17:43 a.out.symbol
剥离符号表
[root@localhost home]# objcopy --strip-debug a.out
[root@localhost home]# ls -l a.*
-rwxr-xr-x 1 root root 7072 Feb 19 17:43 a.out
-rwxr-xr-x 1 root root 8361 Feb 19 17:43 a.out.symbol
[root@localhost home]#
gdb启动程序加载使用符号表文件
[root@localhost home]# gdb -s a.out.symbol -e a.out
GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-23.el5)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/a.out.symbol...done.
(gdb)