2017-12-10 19 views
-1

나는 특정 프로세스에 의해 생성 된 각 메모리 블록 내용을 분석하려고한다. 그래서 내가 한 일은 "gcore pid"를 사용하여 프로세스의 핵심 덤프를 얻는 것이지만 내용을 검색하는 방법을 모르는 사람이 누구입니까?프로세스 코어 파일에서 메모리 내용을 검색하는 방법은 무엇입니까?

+0

"각 * 메모리 블록 내용 분석"은 무엇을 의미합니까? 나는 당신의 "각"사용법에 대해 약간 혼란 스럽습니다 .... 왜 그들 중 일부는 아니겠습니까? 어떤 종류의 분석을하고 싶으십니까? ** 더 많은 동기 부여와 문맥 (여러 가지 추가 paragrapshs에서)을 제공하여 ** 질문을 수정해야합니다 **. 그 과정은 무엇입니까? 그 프로그램의 소스 코드가 있습니까? 어떤 실제 메모리 블록 분석을 염두에두고 있습니까? ** 해결해야 할 실제 문제는 무엇입니까? ** –

+0

현재의 형태에서 귀하의 질문은 명확하지 않고 너무 광범위하고 혼란 스럽습니다 ..... 개선하십시오. –

답변

0

일반적으로 core 덤프를 분석하는 좋은 도구는 gdb 디버거입니다.

그래서 당신이 -g 플래그 passed to gcc 또는 g++ 또는 clang 모든 코드를 컴파일해야합니다 ( ELF 실행 내부 DWARF 디버그 정보를 위해).

그런 다음 gdb myprog core 명령을 사용하여 프로그램 myprog의 (부검 여부와 상관없이) 코어 덤프를 분석 할 수 있습니다. use gdb에 대해 자세히 알아보십시오. gdb은 스크립팅 가능이며 extensible (파이썬 및 길래)입니다.

그렇지 않으면 core 파일을 분석 할 수 있습니다 (gdb 제외). 그런 다음 상세한 형식을 이해해야합니다 (몇 달 동안 작업해야 할 수 있습니다). elf(5)core(5)을 참조하십시오.

BTW, valgrind도 유용 할 수 있습니다.

-g없이 컴파일 된 코어 덤프를 분석하는 데 gdb을 사용할 수도 있지만 그다지 유용하지 않습니다.