gdb를 쓰기위한 -g 옵션이 먹지 않습니다 ㅠㅠ
제가 어떤 소스를 받아서 컴파일 할때 -g 옵션을 주어 DDD(data display debugger)에서 소스를 보려고 합니다. 근데 -g옵션을 주어 DDD로 실행파일을 열면 "no debugging symbols found)라고 나옵니다.물론 GDB에서도 증상은 같습니다
제가 알기로 -g가 안되면 소스레벨 디버깅이 안된다고 알고 있는데 해결책 없나요?? makefile 올릴테니 아시는 분 답변 부탁드립니다...
그리고 밑에 부분중에
set EXTRA_LIBS="-L. -L/usr/lib -lm" 과 set EXTRA_INCLUDES="-I."
의 의미를 가르쳐 주시면 감사하겠습니다. ㅠㅠ 교수님이 자꾸 쪼아서 아주 짱나 죽겠어요....ㅠㅠ
#!/bin/tcsh -f
set path=($path /bin /usr/bin) ## for getconf uname rm echo gcc
set OS=`uname -s`
rm gds2gdt.$OS >& /dev/null
#-----------------------------------------------------------------
#set CCFLAGS="-Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
set CCFLAGS=`getconf LFS_CFLAGS` #Large File Support
set EXTRA_LIBS="-L. -L/usr/lib -lm"
#set EXTRA_LIBS="-L. -L/usr/lib64 -lm" #for x86_64
#set CC="gcc -m32" ## some solaris machines need this
set CC="gcc"
set EXTRA_INCLUDES="-I."
set LIBDIR="/usr/lib"
#set LIBDIR="/usr/lib64" #for x86_64
#-----------------------------------------------------------------
rm *.o >& /dev/null
echo $CC $CCFLAGS $EXTRA_INCLUDES sRemoveTrailingZeros ====
$CC -g $CCFLAGS $EXTRA_INCLUDES sRemoveTrailingZeros.C -c -O -o sRemoveTrailingZeros.o
#g++ -g $CCFLAGS $EXTRA_INCLUDES sRemoveTrailingZeros.C -c -O -o sRemoveTrailingZeros.o
echo $CC $CCFLAGS $EXTRA_INCLUDES get_field =======
$CC -g $CCFLAGS $EXTRA_INCLUDES get_field.c -c -O -o get_field.o
echo $CC $CCFLAGS $EXTRA_INCLUDES stoupper =======
$CC -g $CCFLAGS $EXTRA_INCLUDES stoupper.c -c -O -o stoupper.o
echo $CC $CCFLAGS $EXTRA_INCLUDES sfind =======
$CC -g $CCFLAGS $EXTRA_INCLUDES sfind.C -c -O -o sfind.o
#g++ -g $CCFLAGS $EXTRA_INCLUDES sfind.C -c -O -o sfind.o
echo $CC $CCFLAGS $EXTRA_INCLUDES match_string =======
$CC -g $CCFLAGS $EXTRA_INCLUDES match_string.C -c -O -o match_string.o
#g++ -g $CCFLAGS $EXTRA_INCLUDES match_string.C -c -O -o match_string.o
echo $CC $CCFLAGS $EXTRA_INCLUDES sRemoveSpaces =======
$CC -g $CCFLAGS $EXTRA_INCLUDES sRemoveSpaces.C -c -O -o sRemoveSpaces.o
#g++ -g $CCFLAGS $EXTRA_INCLUDES sRemoveSpaces.C -c -O -o sRemoveSpaces.o
echo $CC $CCFLAGS $EXTRA_INCLUDES sRemoveWhiteSpace ====
$CC -g $CCFLAGS $EXTRA_INCLUDES sRemoveWhiteSpace.C -c -O -o sRemoveWhiteSpace.o
#g++ -g $CCFLAGS $EXTRA_INCLUDES sRemoveWhiteSpace.C -c -O -o sRemoveWhiteSpace.o
echo $CC $CCFLAGS $EXTRA_INCLUDES gdsStream =======
$CC -g $CCFLAGS $EXTRA_INCLUDES gdsStream.C -c -O -o gdsStream.o -Wno-deprecated
#g++ -g $CCFLAGS $EXTRA_INCLUDES gdsStream.C -c -O -o gdsStream.o -Wno-deprecated
echo $CC $CCFLAGS $EXTRA_INCLUDES $EXTRA_LIBS gds2gdt =======
$CC -g gds2gdt.C -O -o gds2gdt.$OS $EXTRA_INCLUDES $EXTRA_LIBS -lstdc++ *.o -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wcast-qual -Woverloaded-virtual $LIBDIR/libm.a -static -Wno-deprecated
#g++ -g gds2gdt.C -O -o gds2gdt.$OS $EXTRA_INCLUDES $EXTRA_LIBS -lstdc++ *.o -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wcast-qual -Woverloaded-virtual $LIBDIR/libm.a -static -Wno-deprecated
strip gds2gdt.$OS
rm *.o >& /dev/null
echo created gds2gdt.$OS
strip(1)을 쓰면,
strip(1)을 쓰면, debugging information도 제거됩니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기