public void Close() { InitWriter(); foreach (Method method in methods) { int remappedToken = method.token; remap.TryGetValue(remappedToken, out remappedToken); symUnmanagedWriter.OpenMethod(remappedToken); if (method.document != null) { ISymUnmanagedDocumentWriter doc = method.document.GetUnmanagedDocument(symUnmanagedWriter); symUnmanagedWriter.DefineSequencePoints(doc, method.offsets.Length, method.offsets, method.lines, method.columns, method.endLines, method.endColumns); } foreach (Scope scope in method.scopes) { scope.Do(symUnmanagedWriter); } symUnmanagedWriter.CloseMethod(); } foreach (Document doc in documents.Values) { doc.Release(); } symUnmanagedWriter.Close(); Marshal.ReleaseComObject(symUnmanagedWriter); symUnmanagedWriter = null; documents.Clear(); methods.Clear(); remap.Clear(); reversemap.Clear(); }
/// <summary> /// Closes ISymUnmanagedWrite interface and moves state of writer to Done /// </summary> public void Close() { if (State != WriterState.NotIninitialized && State != WriterState.Done) { mWriter.Close(); Dispose(); State = WriterState.Done; } }
public void Close() { if (closeCalled) { return; } closeCalled = true; writer.Close(); }
public void Close() { m_writer.Close(); Marshal.ReleaseComObject(m_writer); foreach (var document in documents) { Marshal.ReleaseComObject(document); } }
/// <summary> /// Close the PDB writer and write the PDB data to the stream provided by <see cref="_streamProvider"/>. /// </summary> public void WritePdbToOutput() { try { _symWriter?.Close(); _symWriter = null; } catch (Exception ex) { throw new PdbWritingException(ex); } }
private void Close() { try { _symWriter?.Close(); _symWriter = null; _pdbStream = null; } catch (Exception ex) { throw new PdbWritingException(ex); } }
public unsafe void WriteTo(Stream stream) { Debug.Assert(_pdbStream != null); Debug.Assert(_symWriter != null); try { // SymWriter flushes data to the native stream on close: _symWriter.Close(); _symWriter = null; _pdbStream.CopyTo(stream); } catch (Exception ex) { throw new PdbWritingException(ex); } }
public void Close() { writer.Close(); }