System.Diagnostics.StackTraceSymbols.TryOpenReaderFromAssemblyFile C# (CSharp) Method

TryOpenReaderFromAssemblyFile() private static method

private static TryOpenReaderFromAssemblyFile ( string assemblyPath, IntPtr loadedPeAddress, int loadedPeSize ) : System.Reflection.Metadata.MetadataReaderProvider
assemblyPath string
loadedPeAddress IntPtr
loadedPeSize int
return System.Reflection.Metadata.MetadataReaderProvider
        private static MetadataReaderProvider TryOpenReaderFromAssemblyFile(string assemblyPath, IntPtr loadedPeAddress, int loadedPeSize)
        {
            using (var peReader = TryGetPEReader(assemblyPath, loadedPeAddress, loadedPeSize))
            {
                if (peReader == null)
                {
                    return null;
                }

                string pdbPath;
                MetadataReaderProvider provider;
                if (peReader.TryOpenAssociatedPortablePdb(assemblyPath, TryOpenFile, out provider, out pdbPath))
                {
                    // TODO: 
                    // Consider caching the provider in a global cache (accross stack traces) if the PDB is embedded (pdbPath == null),
                    // as decompressing embedded PDB takes some time.
                    return provider;
                }
            }

            return null;
        }