2010-05-15 6 views
2

어떻게 형식으로 주어진 메모리 주소에서 메모리 덤프를 얻을 수 있습니까 :.net에서 메모리 덤프를 만드는 방법은 무엇입니까?

Address |   Hexadecimal representation    | ASCII representation 
--------------------------------------------------------------------------------------- 
0x637132687 | 00 00 00 00 00 00 00 00 45 21 65 78 32 F5 12 6C | ....... ahsnfdas 
0x637132703 | 00 00 00 00 00 00 00 00 45 21 65 78 32 F5 12 6C | ....... ahsnfdas 
0x637132719 | 00 00 00 00 00 00 00 00 45 21 65 78 32 F5 12 6C | ....... ahsnfdas 
0x637132735 | 00 00 00 00 00 00 00 00 45 21 65 78 32 F5 12 6C | ....... ahsnfdas 

당신이 작업에 대한 API/프레임 워크/도구를 알고 있습니까?

답변

2

Marshal.CopyMemory() 및 this code이 필요합니다. P/메모리 주소가 유효한지 확인하기 위해 VirtualQueryEx()를 호출하면 예외를 피할 수 있습니다.

+0

한스 고마워,이 접근 방식을 취할거야 :) +1 – SDReyes

1

확실히 WinDbg를 사용하여 수행 할 수 있습니다. 솔직히, 나는 그것을 사용하는 마법사가 아니지만 Microsoft의 Tess Ferrandez는 WinDbg를 사용하여 .NET 어플리케이션을 디버그하는 방법에 관한 excellent 블로그를 가지고 있습니다.

정상적인 메모리 덤프를 탐색하려는 것 같습니다. 간단합니다. 너가 더를 제외하고 무엇이든을 시험하고 싶은 경우에 (.net에 관해서) 너는 WinDbg을 위해 SOS 연장을 사용해야한다.

+0

요하네스! 좋은 링크 +1 – SDReyes