GDB 소스를 파기에 부족합니다. 코어 파일을 만드는 데 사용되는 형식에 대한 문서는 어디에서 찾을 수 있습니까?ELF 코어 파일 형식
ELF 사양은 코어 파일 형식을 그대로 유지하므로 GDB 사양의 일부 여야합니다. 슬프게도, 나는 GNU의 gdb 문서에서 이런 점에서 도움을 얻지 못했다.
다음은 수행하려는 작업입니다. 실행중인 프로세스를 구성하는 실행 파일/라이브러리의 함수 이름에 가상 주소를 매핑하십시오. 이를 위해, 먼저 핵심 파일에서 가상 주소 공간의 맵을 실행 파일/라이브러리의 이름으로 매핑 한 다음 관련 파일을 파헤어 심볼 정보를 얻고 싶습니다.
이제 'readelf -a core'는 코어 파일의 거의 모든 세그먼트가 '로드'유형이라는 것을 알 립니 다.이 섹션은 .text 및 .bss/.data 세그먼트가 모두 참여 파일, 스택 세그먼트. 이로드 세그먼트를 제외하면 하나의 노트 세그먼트가 있지만지도가 포함되어 있지 않은 것 같습니다. 그렇다면 코어 파일에 저장된 세그먼트에 해당하는 파일에 대한 정보는 어떻게됩니까? 이러한 '로드'세그먼트가 파일 정보를 포함하는 특정 방식으로 포맷되어 있습니까? gdb
, binutils
의해 사용 bfd
라이브러리 등
당신이 '핵심 파일 형식'가 무엇을 의미하는지에 조금 정교한? gcc가 생성하는 객체 코드 형식이나 최종 실행 파일의 형식을 언급하고 있습니까?이 경우 ELF 또는 다른 것입니까? – greatwolf
이 질문에 대한 새로운 대답은 [여기] (http://stackoverflow.com/a/38427225/5058676)입니다. – evaitl