향후 조사를 위해 상태를 보존하기위한 프로세스의 스냅 샷을 어떻게 수행 할 것인가? 이게 가능해?

StackOverflow https://stackoverflow.com/questions/138255

  •  02-07-2019
  •  | 
  •  

문제

이것이 가능한지 모르겠지만, 강력 할 것입니다!

주기적으로 실패하는 프로세스가 있습니다 (Windows 2000에서 실행). 그런 다음 다시 시작하기 전에 반응 할 기회가 한 번 밖에없고 다시 실패 할 때까지 고통스럽게 기다립니다. 프로세스를 작성하지 않았으므로 디버그 할 소스가 없습니다. 실패는 무작위로 보입니다.

프로세스의 스냅 샷으로 실패에 대한 반응을 반복적이고 빠르게 테스트 할 수있었습니다.

VM 내부에서 실행할 생각을했지만이 경우에는 불가능합니다.

편집 : @Jon Cage가 질문했습니다.

스냅 샷을 말할 때, 당신은 실패하려고 할 때 (메모리, 프로그램 상태 등 포함) 프로세스를 캡처 한 다음 다른 구성 요소에 어떤 영향을 미치는지 반복적으로 재생하는 것을 의미합니까?

이것이 바로 내가 의미하는 바입니다!

도움이 되었습니까?

해결책

제 생각에는 미니 덤프 당신이 찾고있는 것입니다.

당신은 또한 사용할 수 있습니다 userdump:

사용자 모드 프로세스 Dumper (UserDump)는 실행중인 Win32가 디버거를 첨부하거나 대상 프로세스를 종료하지 않고 즉시 메모리 이미지 (CSRSS.EXE, WINLOGON.EXE, SERVICES.EXE 등) 메모리 이미지를 덤프합니다. 표준 디버깅 도구를 사용하여 생성 된 덤프 파일을 분석하거나 디버깅 할 수 있습니다.

이것 기사 사용 방법을 보여줍니다.

다른 팁

가장 좋은 방법은 디버거에서 프로세스를 시작하는 것입니다 (ollydbg 내가 선호하는 도구). 프로세스는 예외에서 일시 중지되며 그 직전에 무슨 일이 있었는지 알아 내려고 노력할 수 있습니다.

이를 위해서는 어셈블러에 대한 이해가 필요하며 나중에 분석을 위해 프로세스의 스냅 샷을 만들 수 없습니다. 당신은 그것을 위해 자신의 디버거를 작성해야합니다. 이론적으로 가능해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top