1

我有一个可以在生成调试信息的命令行(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 的默认配置**

使 DEBUG=1 STATIC=1 all for dir in libtecla netconf libtoaster; 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 经理。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/平台 -I../../netconf/src/ncx -I../../netconf/src/agt -I/usr/include/yuma/platform -我/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 烤面包机.c


----------------------调试控制台-------------- -

“main()”没有可用的来源

[...] .gdbinit:没有这样的文件或目录。从 /home/shuser/yuma-2.2-2/netconf/target/bin/netconfd 读取符号...(未找到调试符号)...完成。1-gdb-set 确认关闭 1^done (gdb) 2-gdb-set 宽度 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" 由于共享库事件而停止 *stopped ,thread-id="1",stopped-threads="all",core="0" 22 信息共享库 (gdb)


4

0 回答 0