示例#1
0
        /// <summary>
        /// Returns the list of path names to the NGEN pdbs for any NGEN image in 'etlFile' that has
        /// any samples in it.
        /// </summary>
        internal static List <string> GetNGenPdbs(string etlFile, SymbolReader symbolReader, TextWriter log)
        {
            // Generate the NGen images for any NGEN image needing symbolic information.
            var pdbFileList = new List <string>(100);

            foreach (var imageName in ETWTraceEventSource.GetModulesNeedingSymbols(etlFile))
            {
                var pdbName = symbolReader.GenerateNGenSymbolsForModule(imageName);
                if (pdbName != null)
                {
                    pdbFileList.Add(pdbName);
                    log.WriteLine("Found NGEN pdb {0}", pdbName);
                }
            }
            return(pdbFileList);
        }
示例#2
0
        /// <summary>
        /// Returns the list of path names to the NGEN pdbs for any NGEN image in 'etlFile' that has
        /// any samples in it.
        /// </summary>
        internal static List <string> GetNGenPdbs(string etlFile, SymbolReader symbolReader, TextWriter log)
        {
            // Generate the NGen images for any NGEN image needing symbolic information.
            var pdbFileList = new List <string>(100);

            foreach (var imageName in ETWTraceEventSource.GetModulesNeedingSymbols(etlFile))
            {
                var sw      = Stopwatch.StartNew();
                var pdbName = symbolReader.GenerateNGenSymbolsForModule(imageName);
                if (pdbName != null)
                {
                    pdbFileList.Add(pdbName);
                    log.WriteLine("Found NGEN pdb {0}", pdbName);
                }
                log.WriteLine("NGEN PDB creation for {0} took {1:n2} Sec", imageName, sw.Elapsed.TotalSeconds);
            }
            return(pdbFileList);
        }