2011-10-06 13 views
5

gdbのチュートリアルでは、デバッグシンボルを使用してプログラムをコンパイルするには、 'gcc -g'を使用してコンパイルすることをお勧めします。'make'でコンパイルされたプログラムをデバッグするには?

ただし、makeでコンパイルしたプログラムをデバッグしたいです。デバッグシンボルでコンパイルするようにmakeに指示するにはどうすればよいですか?

ありがとうございました。

答えて

7

コンパイルオプションを変更するには、 'make'を実行するディレクトリの 'Makefile'ファイルを編集する必要があります。次のいずれかのために、そのファイルを見て内側:

  1. あなたはおそらく何かのように、コンパイラ定義する変数:

    CC =「gccの」

  2. コンパイラが取得する実際のラインいわゆる(手作りのMakefileの可能性が高い)。

  3. CFLAGSと呼ばれる変数または最初の2つのケースではCXXFLAGS

、ちょうど第三の場合にはそれだけのような「-ggdb」を追加しても簡単になりました、「GCC」の後「-ggdb」を追加:

CFLAGS='-ggdb' 
3

私が処理しなければならないmakefile(他人によって作成された)は、しばしばコンパイラにオプションを変更することを容易にしません。単にコマンドラインにCFLAGSを設定するのは簡単ですが、他にも多くの重要なコンパイルオプションがあります。ただし、多くの場合、makeコマンドラインでコンパイラマクロを上書きすることで問題に対処することができます:あなたは、デバッグフラグでコンパイルされているデバッグに興味を持っているすべてを確認する必要があり

make CC="gcc -g" ...other arguments... 

。破片を取り除くにはmake cleanupまたはmake cleanを使用するか、より簡単な手段(rm *.o *.a *.soまたは同等のもの)に頼ることがあります。 GNU Makeをお持ちの場合は、-Bまたは--always-makeを使用して強制的にすべてを再構築してください。

マルチディレクトリビルドを使用している場合は、関連するすべてのディレクトリでこれを行う必要があります。

関連する問題