void InitializeHeader32() { memHeader32 = (SharedMemoryHeader32 *)fullView.Pointer; #if DEBUG // '~DBG' memHeader32->Magic = 0x7e444247; #else // '~SM1' memHeader32->Magic = 0x7e534d31; #endif memHeader32->TotalLength = profilerOptions.SharedMemorySize; memHeader32->NativeToManagedBufferOffset = Align(sizeof(SharedMemoryHeader32)); memHeader32->ThreadDataOffset = Align(memHeader32->NativeToManagedBufferOffset + bufferSize); memHeader32->ThreadDataLength = threadDataSize; memHeader32->HeapOffset = Align(memHeader32->ThreadDataOffset + threadDataSize); memHeader32->HeapLength = profilerOptions.SharedMemorySize - memHeader32->HeapOffset; memHeader32->ProcessorFrequency = GetProcessorFrequency(); memHeader32->DoNotProfileDotnetInternals = profilerOptions.DoNotProfileDotNetInternals; memHeader32->CombineRecursiveFunction = profilerOptions.CombineRecursiveFunction; memHeader32->TrackEvents = profilerOptions.TrackEvents; if ((Int32)(fullView.Pointer + memHeader32->HeapOffset) % 8 != 0) { throw new DataMisalignedException("Heap is not aligned properly: " + ((Int32)(fullView.Pointer + memHeader32->HeapOffset)).ToString(CultureInfo.InvariantCulture) + "!"); } }
void InitializeHeader32() { memHeader32 = (SharedMemoryHeader32*)fullView.Pointer; #if DEBUG // '~DBG' memHeader32->Magic = 0x7e444247; #else // '~SM1' memHeader32->Magic = 0x7e534d31; #endif memHeader32->TotalLength = profilerOptions.SharedMemorySize; memHeader32->NativeToManagedBufferOffset = Align(sizeof(SharedMemoryHeader32)); memHeader32->ThreadDataOffset = Align(memHeader32->NativeToManagedBufferOffset + bufferSize); memHeader32->ThreadDataLength = threadDataSize; memHeader32->HeapOffset = Align(memHeader32->ThreadDataOffset + threadDataSize); memHeader32->HeapLength = profilerOptions.SharedMemorySize - memHeader32->HeapOffset; memHeader32->ProcessorFrequency = GetProcessorFrequency(); memHeader32->DoNotProfileDotnetInternals = profilerOptions.DoNotProfileDotNetInternals; memHeader32->CombineRecursiveFunction = profilerOptions.CombineRecursiveFunction; memHeader32->TrackEvents = profilerOptions.TrackEvents; if ((Int32)(fullView.Pointer + memHeader32->HeapOffset) % 8 != 0) { throw new DataMisalignedException("Heap is not aligned properly: " + ((Int32)(fullView.Pointer + memHeader32->HeapOffset)).ToString(CultureInfo.InvariantCulture) + "!"); } }