autotools を使用する Github で C プロジェクトをフォークしました。William Pursell の投稿に従って、デバッグ オプションを使用してビルドした後、一部の関数にステップ インできません。デバッガーは「no debug info」と表示します。
ここに私のビルドプロセスがあります:
$ ./autogen.sh
$ mkdir Debug
$ cd Debug
$ ../configure --prefix=/Debug CPPFLAGS=-DDEBUG CFLAGS="-O0 -g3 -Wall"
$ make
$ make check
ソース ツリーには、perfo/、src/、src/core/、src/utils/、tests/ などの 2 つのレベルのフォルダーがあります。
tests/xxx をデバッグすると、tests/xxx.c には関数のシンボルがありますが、たとえば src/core/global.c にはありません。
こちらの情報から、オブジェクトファイルを確認してみましたが、デバッグ情報のプロパティは同じようです。
$ readelf -WS tests/reqrep.o | grep debug_info
[ 6] .debug_info PROGBITS 0000000000000000 00118a 000735 00 0 0 1
[ 7] .rela.debug_info RELA 0000000000000000 00d5d0 000d20 18 25 6 8
$ readelf -WS src/core/global.o | grep debug_info
[ 6] .debug_info PROGBITS 0000000000000000 002d87 002360 00 0 0 1
[ 7] .rela.debug_info RELA 0000000000000000 01ccb8 003180 18 25 6 8
Eclipse CDT でデバッグしています。デバッグ ビルド プロファイルは同じです。たとえば、コンソールを使用して最初から再構築すると、Eclipse CDT は最新であるため、デバッグ時に再構築されません。もちろん、コンソール ビルドと Eclipse ビルドの両方からデバッグを試みました。デバッグ構成は問題ないようです: アプリケーション = Debug/tests/.libs/reqrep、ノンストップ モードで GDB (DSF) を使用、ビルド構成はデバッグ、ソース ルックアップ パスはデフォルトです。
任意のアイデアをお願いします?