시동시 큰 용량의 데이터를로드하는 프로그램이 있습니다. 오랜 시간이 걸리므로 Valgrind (memcheck
)/DrMemory을 실행할 때 오버 헤드가 발생합니다. 그래서 다른 인수로 프로그램을 여러 번 호출하면 상당한 시간이 걸릴 것입니다.Valgrind/DrMemory에 프로그램 상태를 기록한 다음 복원하는 것이 가능합니까?
데이터 로딩 단계 직후에 fork()
을 사용하고 아이들을 Valgrind/DrMemory에 넘기는 것이 좋습니다. 로드 단계가 Valgrind/DrMemory에서 실행 되더라도 오버 헤드는 한 번 발생하며 모든 하위 프로세스는 미리로드 된 데이터를 사용할 수 있어야합니다.
프로그램 상태를 기록하고이를 적용되지 않은 것으로 선언 한 다음 나중에 Valgrind (memcheck
) 또는 DrMemory에서 해당 상태를 복원 할 수 있습니까?
참고 : 저는 유닉스 플랫폼에만 관심이 있습니다. 리눅스만으로 제한해도 괜찮습니다.
당신이 말하는 것은 Valgrind에서 시작하여 간단히'fork()'를 실행하는 것입니다. – 0xC0000022L
@ 0xC0000022L 네, 맞습니다. 특별 지원 (아동 추적 능력 이상)은 필요하지 않습니다. –
위대한, 사실 그 시점에 내 질문에 대한 답변. Спасибо большое! – 0xC0000022L