gdb调试符号文件和程序文件分离的用法

​ 有时候碰到程序有问题时,需要借助gdb来分析,但是直接把带调试信息的elf发布出去又不太合适,这时就需要从中分离符号文件,单独发布strip过的elf文件。使用gdb时,只需要加载符号文件就行了。

​ 首先生成带调试信息的elf文件:

gcc -g3 main.c -o main.dbg

​ 然后从里面剥离出符号新,生成一个符号文件

objcopy --only-keep-debug main.dbg main.sym

​ 再剥离出不带调试信息的程序文件

objcopy --strip-debug  main.dbg main.nodbg

此时再使用gdbserver + gdb调试,和平时不同的是额外指定一下符号文件

remote端:

gdbserver :9999 /bin/main.nodbg

host端:

gdb ./main.nodbg -s ./main.sym
posted @ 2023-02-17 17:57  thammer  阅读(391)  评论(0编辑  收藏  举报