segfault를 작성하지 않고 비표준 경로(특히 /frs/alg/alg/bin/)에서 바이너리 코드를 디버깅하려고 하는데 디컴파일된 코드에 gdb에서 디버깅할 때보다 기호 수가 적다는 것을 발견했습니다. 디버그 기호가 분리되어 있다고 가정합니다. 그런데 어디서 찾아야 합니까?
답변1
아마도 바이너리 파일이별도의 디버깅 정보; gdb
특별한 구성 없이도 찾을 수 있는 경우 다음 중 하나에 위치해야 합니다.
/usr/lib/debug/.build-id
;빌드 ID를 기반으로 파일 다운로드.debug
바이너리 파일 옆에 있는 파일;- ; 의
.debug
파일/frs/alg/alg/bin/.debug
- .
.debug
/usr/lib/debug/frs/alg/alg/bin
바이너리에는 분리된 정보에 대한 디버그 링크가 있을 수 있습니다. .gnu_debuglink
바이너리에서 섹션을 찾으세요. 빌드 ID(있는 경우)를 찾으려면 이름이 지정된 섹션 .note.gnu.build-id
이나 이와 유사한 섹션을 찾으십시오.