デバッグ情報を生成するコマンド ライン (Linux Mint) でビルドできる C プロジェクトがあります。コマンド ライン インターフェイスで GDB を使用してデバッグできますが、これは非常に面倒です。
sudo make DEBUG=1
コマンドラインで: を使用しました。
Eclipse (GALILEO) で同じプロジェクトをデバッグする必要があります。Eclipse でビルドできますが、デバッグ情報が生成されず、コードをデバッグできません (「デバッグ情報がありません」というエラーが表示されます)。また、コードにブレークポイントを配置することはできません。
gcc -g
コンパイラ呼び出しコマンド ( compiler > -O2 -g -Wall -c -fmessage-length=0
)として使用DEBUG=1
し、リンカーを "gcc" としてカスタム ビルド コマンドで作成しました。
コマンドラインでビルドしたときと同じようにデバッグ情報が生成されるようにプロジェクトを設定する方法を教えてください。
------------------ビルド出力---------------------------------- ------------------------------
構成のビルド プロジェクト yuma のデフォルト**
libtecla netconf libtoaster のディレクトリに対してすべて DEBUG=1 STATIC=1 にします。do\ cd $dir && make && cd ..;\ done make[1]: ディレクトリに入る/home/shuser/workspace2/yuma/libtecla'
make[2]: Entering directory
/home/shuser/workspace2/yuma/libtecla' mkdir normal_obj cp ./keytab.h normal_obj/keytab.h gcc -c -O -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 - DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_SELECT=1 -DHAVE_SYSV_PTY=1 -D_SVID_SOURCE -D_BSD_SOURCE -fpic -o normal_obj/getline.o ./getline.c
[...]
gcc -DLINUX=1 -DGCC=1 -DDEBUG -DHAS_FLOAT=1 -Wall -Wno-long-long -Wformat-y2k -Winit-self -Wswitch-default -Wunused-parameter -Wextra -Wundef -Wshadow -Wpointer-arith - Wwrite-strings -Wbad-function-cast -Wcast-qual -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wpacked -Winvalid-pch -Wredundant-decls -Wnested-externs - Winline -std=gnu99 -fPIC -ggdb3 \ -I. -I../agt -I../mgr -I../ncx -I../platform -I../ydump -I/usr/include -I/usr/include/libxml2 -I/usr/include /libxml2/libxml -c -o ../../target/mgr/mgr.o mgr. c gcc -DLINUX=1 -DGCC=1 -DDEBUG -DHAS_FLOAT=1 -Wall -Wno-long-long -Wformat-y2k -Winit-self -Wswitch-default -Wunused-parameter -Wextra -Wundef -Wshadow -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wcast-qual -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wpacked -Winvalid-pch -Wredundant-decls -Wnested-externs -Winline -std=gnu99 -fPIC -ggdb3 \ -I. -I../agt -I../mgr -I../ncx -I../platform -I../ydump -I/usr/include -I/usr/include/libxml2 -I/usr/include /libxml2/libxml -c -o ../../target/mgr/mgr_cap.o mgr_cap.c
[...]
gcc -ggdb3 -DDEBUG=1 -DLINUX=1 -DGCC=1 -DHAS_FLOAT=1 -Wall -Wno-long-long -Wformat-y2k -Winit-self -Wswitch-default -Wunused-parameter -Wextra -Wundef -Wshadow - Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wcast-qual -Wcast-align -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wpacked -Winvalid-pch - Wredundant-decls -Wnested-externs -Winline -std=gnu99 -fPIC \ -I. -I../../netconf/src/platform -I../../netconf/src/ncx -I../../netconf/src/agt -I/usr/include/yuma/platform - I/usr/include/yuma/ncx -I/usr/include/yuma/agt -I/usr/include -I/usr/include/libxml2 -I/usr/include/libxml2/libxml -c -o ../ bin/toaster.o toaster.c
----------------------デバッグコンソール-------------------------- -
「main()」のソースがありません
[...] .gdbinit: そのようなファイルまたはディレクトリはありません。/home/shuser/yuma-2.2-2/netconf/target/bin/netconfd からシンボルを読み取り中...(デバッグ シンボルが見つかりません)...完了。1-gdb-set 確認オフ 1^done (gdb) 2-gdb-set width 0 2^done
[...]
=library-loaded,id="/lib/i386-linux-gnu/libm.so.6",target-name="/lib/i386-linux-gnu/libm.so.6",host-name=" /lib/i386-linux-gnu/libm.so.6",symbols-loaded="0",thread-group="i1" ~"共有ライブラリ イベントにより停止\n" 共有ライブラリ イベントにより停止 *停止,thread-id="1",stopped-threads="all",core="0" 22 情報共有ライブラリ (gdb)