2010-01-20 1 views
6

관리되는 프로세스의 덤프 파일을 작성하려고합니다.windbg (또는 mscordmp)를 사용하여 관리되는 (.net) 응용 프로그램에 대한 덤프 파일을 작성하십시오.

windbg를 사용하여 덤프 파일을 만들 수 있다는 것을 알고 있지만, 해당 파일이 네이티브 대신 관리되는 응용 프로그램이라는 이유로 ".dump"명령에 전달해야하는 특수 플래그가 있는지 궁금합니다. 하나.

관련된 측면 질문 : mscordmp.exe라는 도구에 대해 들어 봤습니다 (Google에서 온라인으로 언급 한 내용을 찾을 수 있습니다). mscordmp는 아직 관련이 있습니까? 어디서나 다운로드 지점을 찾을 수는 없지만 windbg보다 관리되는 메모리를 덤핑하는 것이 더 적합하다고 생각했습니다.

+0

[가능한 .NET의 크래시 덤프를 어떻게 만들 수 있습니까?] (http://stackoverflow.com/questions/24874027/how-do-i-take-a-good-crash-dump-for -그물) –

답변

4

전체 메모리 덤프를 만들려면/ma를 사용해야합니다.그렇지 않으면 sos는 관리 분석이 매우 제한적이라고 불평 할 것입니다.

0

아니요, 관리되는 응용 프로그램과 관련된 특수 플래그가 없습니다. windbg은 메모리 덤프를 생성하며 원시 데이터입니다. 덤프가 관리되는 응용 프로그램 용으로 생성되었는지 또는 관리되지 않는 용으로 생성되었는지를 확인하는 것이 분석 도구의 목적입니다.

관리되는 응용 프로그램을 분석에 대해 말하기, 다음 단계가있을 경우

는 :

  1. 는 관리되는 응용 프로그램을
  2. 실행 .dump /ma <outputfilename.dmp>을 실행하고 처리 할 수 ​​windbg을 첨부합니다. 덤프 파일을 생성하는데,이 작업은 프로세스에 의해 소비되는 메모리에 따라 수 분이 걸릴 수 있습니다. /ma 플래그를 사용하면 모든 옵션이 활성화 된 상태에서 연결된 프로세스의 전체 메모리 덤프를 만들 수 있습니다 (전체 시스템 덤프가 아닌 연결된 프로세스 만).
  3. 프로세스에서 분리하면 실행을 계속할 수 있지만 windbg에 덤프 파일을로드하고 분석 할 수 있습니다.
  4. sos.dll은 관리 응용 프로그램을 분석하기위한 공통적 인 windbg입니다.

p.s. .load sos.dll으로 sos.dll을 활성화하는 데 문제가있을 수 있습니다.이 경우 .loadby sos mscorwks을 시도 할 수 있습니다.