CLR 클래스의 메모리 레이아웃은 무엇입니까?CLR 클래스 메모리 레이아웃
C++ 백그라운드에서 오는 가상 함수가있는 C++ 클래스의 메모리 레이아웃은 v 테이블 포인터로 시작하고 클래스의 데이터 멤버가 메모리에서옵니다.
가상 함수가있는 CLR 클래스에 v 테이블 포인터가 있습니까? 이 포인터는 클래스 메모리 레이아웃의 첫 번째 필드입니까? 프로그래머가 정의한 데이터 멤버 외에도 CLR 클래스 메모리 레이아웃에 추가 필드가 있습니까? 이러한 추가 필드는 무엇을 나타 냅니까?
C# 클래스의 메모리 레이아웃은 일반적으로 JITTER에 의해 결정되므로 런타임에 표시됩니다 (예외가 있지만). – Yahia
C#은 메모리 레이아웃에 대해 아무 것도 말하지 않습니다. 이것은 CLR 클래스에 관한 것입니다. –
VTable을 좀 더 실용적인 방식으로보고 싶다면 다음과 같은 게시물을 따라 WinDbg,'https://blogs.msdn.microsoft.com/kristoffer/2007/'에서'! DumpMT -MD address' 명령을 실행할 수 있습니다. 01/02/set-a-breakpoint-in-managed-code-using-windbg/ –