동적으로 링크 된 공유 라이브러리로 실행중인 C 응용 프로그램을 디버깅하고 있습니다. 이 프로그램은 우분투 14.04 64 비트에서 잘 돌아갑니다. 그러나 우분투 16.04에서 리눅스가 애플리케이션을 종료 할 때 공유 객체를 종료 할 때 세그멘테이션 오류가 발생합니다.gdb 정보 소스에 따라 소스 파일을 찾을 수 없음
gdb에서 세그먼테이션 오류가 발생하기 직전에 브레이크 포인트를 설정했습니다. 그럼 소스 파일 정보를 확인 info source
를 사용
Thread 1 "test" hit Breakpoint 3, _dl_fini() at dl-fini.c:201
(gdb) info source
Current source file is dl-fini.c
Compilation directory is /build/glibc-bfm8X4/glibc-2.23/elf
Located in /build/glibc-bfm8X4/glibc-2.23/elf/dl-fini.c
Source language is c.
Producer is GNU C11 5.4.0 20160609 -mno-mmx -mtune=generic -march=x86-64 -g -O2 -O3 -std=gnu11 -fgnu89-inline -fno-stack-protector -fmerge-all-constants -frounding-math -fPIC -ftls-model=initial-exec.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
내가 지시 컴파일 디렉토리와 소스 파일의 위치를 찾을 수 없습니다입니다.
디렉토리 /build/glibc-bfm8X4/glibc-2.23/elf가 존재하지 않습니다. 누구나 이런 상황에 대해 알고 있습니까?
미리 감사드립니다.