デバッグ情報を別ファイルに切り出す
C系でコンパイルする際に、-gをつけるデバッグ情報が付加される デバッグ情報を含む、a.out.debug という名前の別のデバッグファイルを作成する
$ objcopy --only-keep-debug executable_file executable_file.debug
実行ファイル(executable_file)からデバッグ情報をストリップ(除去)する
$ objcopy --strip-unneeded executable_file
2つのファイル間にリンクを作成
$ objcopy --add-gnu-debuglink=executable_file.debug executable_file
実行例
デバッグ情報のある実行ファイル生成
$ gcc -g main.c
$ objcopy --only-keep-debug a.out a.out.debug
$ objcopy --strip-debug a.out
$ objcopy --add-gnu-debuglink=a.out.debug a.out
参考
6. デバッグ情報を別ファイルに保持する