public ImageDebugHeader GetDebugHeader() { writer.Dispose(); ImageDebugDirectory imageDebugDirectory = default(ImageDebugDirectory); imageDebugDirectory.Type = ImageDebugType.EmbeddedPortablePdb; ImageDebugDirectory directory = imageDebugDirectory; MemoryStream memoryStream = new MemoryStream(); BinaryStreamWriter binaryStreamWriter = new BinaryStreamWriter(memoryStream); binaryStreamWriter.WriteByte(77); binaryStreamWriter.WriteByte(80); binaryStreamWriter.WriteByte(68); binaryStreamWriter.WriteByte(66); binaryStreamWriter.WriteInt32((int)stream.Length); stream.Position = 0L; using (DeflateStream destination = new DeflateStream(memoryStream, CompressionMode.Compress, true)) { stream.CopyTo(destination); } directory.SizeOfData = (int)memoryStream.Length; return(new ImageDebugHeader(new ImageDebugHeaderEntry[2] { writer.GetDebugHeader().Entries[0], new ImageDebugHeaderEntry(directory, memoryStream.ToArray()) })); }
public ImageDebugHeader GetDebugHeader() { writer.Dispose(); var directory = new ImageDebugDirectory { Type = ImageDebugType.EmbeddedPortablePdb, MajorVersion = 0x0100, MinorVersion = 0x0100, }; var data = new MemoryStream(); var w = new BinaryStreamWriter(data); w.WriteByte(0x4d); w.WriteByte(0x50); w.WriteByte(0x44); w.WriteByte(0x42); w.WriteInt32((int)stream.Length); stream.Position = 0; using (var compress_stream = new DeflateStream(data, CompressionMode.Compress, leaveOpen: true)) stream.CopyTo(compress_stream); directory.SizeOfData = (int)data.Length; return(new ImageDebugHeader(new [] { writer.GetDebugHeader().Entries[0], new ImageDebugHeaderEntry(directory, data.ToArray()) })); }
public ImageDebugHeader GetDebugHeader() { ImageDebugHeader pdbDebugHeader = writer.GetDebugHeader(); var directory = new ImageDebugDirectory { Type = ImageDebugType.EmbeddedPortablePdb, MajorVersion = 0x0100, MinorVersion = 0x0100, }; var data = new MemoryStream(); var w = new BinaryStreamWriter(data); w.WriteByte(0x4d); w.WriteByte(0x50); w.WriteByte(0x44); w.WriteByte(0x42); w.WriteInt32((int)stream.Length); stream.Position = 0; using (var compress_stream = new DeflateStream(data, CompressionMode.Compress, leaveOpen: true)) stream.CopyTo(compress_stream); directory.SizeOfData = (int)data.Length; var debugHeaderEntries = new ImageDebugHeaderEntry [pdbDebugHeader.Entries.Length + 1]; for (int i = 0; i < pdbDebugHeader.Entries.Length; i++) { debugHeaderEntries [i] = pdbDebugHeader.Entries [i]; } debugHeaderEntries [debugHeaderEntries.Length - 1] = new ImageDebugHeaderEntry(directory, data.ToArray()); return(new ImageDebugHeader(debugHeaderEntries)); }