디컴파일을 위해 분리된 디버깅 기호를 찾는 방법은 무엇입니까?

디컴파일을 위해 분리된 디버깅 기호를 찾는 방법은 무엇입니까?

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이나 이와 유사한 섹션을 찾으십시오.

관련 정보