2013-02-07 2 views
8

세그먼트 오류 후에 코어 덤프가 생성되었습니다. 이 문제가 발생했을 때 시스템 시간을 볼 수있는 gdb (또는 어떻게 든) 방법이 있습니까?코어 덤프에서 시스템 시간을 얻으려면 어떻게해야합니까?

코어 덤프 파일이이 메타 정보없이 나에게 전송 되었기 때문에 생성 시간을 사용할 수 없습니다.

+9

저는 현재 시간을 포함하고있는 어딘가의 변수를 알지 못한다면 꽤 어렵다고 생각합니다. 다음에 고객에게'tar zcf core.tar.gz core' 파일을 압축하도록 요구하면 공간이 적게 차지되며 타임 스탬프는 tar 아카이브에 보관됩니다. –

+1

관련 (그러나 Solaris의 경우) : http://stackoverflow.com/questions/10739334/get-the-creation-time-from-core-dump –

+0

대부분의 파일 시스템이 생성 시간을 저장하지 않는다는 것을 감안할 때, 정보를 사용할 수 없습니다. –

답변

3

기본적으로 시스템 시간은 (불행히도) 코어 파일에 저장되지 않습니다. 몇 가지 옵션이 있습니다. 그 중 하나는 시스템 시간을 포함하도록 코어 파일의 이름을 변경하는 것입니다.

자세한 내용은 here에서 확인할 수 있습니다.

기본적으로 "% t"를 코어 파일의 이름에 붙이고 싶습니다.

맞춤 커널을 실행하는 경우 더 많은 옵션이 있습니다.

예를 들어, 원하는 다른 것들을 포함하도록 elf_prstatus 구조를 변경할 수 있습니다. 이것은 선반 도구가 항상 행복하지 않을 수 있으므로 고통 없이는 옵션이 아닙니다. 코어 파일에 사용자 정의 노트를 추가하고 readelf를 사용하여 덤프하고 검사 할 수있는 어플리케이션 특정 정보를 포함시킬 수 있습니다.

0

코어 덤프가 생성 될 때 코어가 생성 된 디렉토리의 "ls -lrt"를 수행하여 확인합니다.

+0

그리고 코어 파일이 한 곳에서 다른 곳으로 복사 되었다면? 질문자는 "코어 덤프 파일의 생성 시간은이 메타 정보없이 나에게 전송 되었기 때문에 사용할 수 없습니다"라고 말합니다. – amrith

+0

네, 그렇습니다. 고객에게 디렉토리에서'ls -lrt'를하고 코어 덤프를 보내달라고 요청하는 유일한 방법이 있습니다. 이것은 우리가 예전의 프로젝트에서했던 것입니다. –

관련 문제