gdb로 디버깅시 라이브러리는 어떻게 디버깅하나여?

MackTheKnife의 이미지

질문은 제목그대로입니다.

디버깅할때 라이브러리안에 브레이크를 걸고싶은데
어떻게 걸어야할지...
컴파일을 -g로 해도 라이브러리가 디버깅이 안되네여..

cinsk의 이미지

라이브러리 소스를 설치하고 -g option을 주고 컴파일 & 설치하세요.

MackTheKnife의 이미지

cinsk wrote:
라이브러리 소스를 설치하고 -g option을 주고 컴파일 & 설치하세요.

라이브러리의 함수안에 브레이크를 걸려면gdb상에서 라이브러리명을 따로 지정해줘야 되는건지..

아니면 라이브러리 컴파일할때(컴파일 옵션에서 디버깅이 안되게 하는 옵션이 있는건지..(이를테면 -formit-frame-pointer같은것....이건 makefile에 기술 안되어 있던데..)

Makefile안에 있는 컴파일 옵션중에 디버깅을 방지하는게 있어서 그런가여?
Makefile내용입니다..

CFLAGS = -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions

LTFLAGS = --silent

COMPILE = $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $(INCLUDES)

LTCOMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)

LINK_LIB = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -no-undefined $(VSNFLAG) -rpath $(libdir) $(LDFLAGS) -o $@

LINK_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -o $@

하하의 이미지

결과가 어떻게 됬는지 궁금합니다..

성공하셨나요?

“바람에게도 길은 있다. 나는 비로소 나의 길을 가느니. 길은 언제나 어디에나 있다.”