private void AssociateInputFilesWithCrashItemSources() { CACmdLineFSEntityList <CACmdLineFileSource> sourceFileNames = iInputs.SourceFiles; CIEngineSourceCollection sources = iEngine.CrashItemEngine.Sources; int count = sources.Count; // Emit progress banner iProgressReporter.StepBegin("Categorizing files...", KStepKeyCategorizingInputFiles, count); // Check each source in the engine and try to map it back onto an input source // file name. The goal is to identify input files which have no corresponding crash engine // source. These files are unsupported. for (int i = 0; i < count; i++) { CIEngineSource source = sources[i]; string sourceFileName = source.FileName; // Try to match an input file with a given source object CACmdLineFileSource inputFile = sourceFileNames[sourceFileName]; if (inputFile != null) { inputFile.Source = source; } // Report progress as we work through the sources iProgressReporter.StepProgress(string.Empty, i, KStepKeyCategorizingInputFiles); } iProgressReporter.StepEnd(string.Empty, KStepKeyCategorizingInputFiles); }
public CIEngine(DbgEngine aDebugEngine, ICIEngineUI aUI) { iUI = aUI; iDebugEngine = aDebugEngine; // iPrimer = new CIEnginePrimer(this); iPlugins = new CFFPluginRegistry(this); iSinkManager = new CISinkManager(this); iSources = new CIEngineSourceCollection(this); iContainerIndex = new CIContainerIndex(this); iContainerCollection = new CIContainerCollection(); iOperationManager = new CIEngineOperationManager(this); iProblemDetectorManager = new CIProblemDetectorManager(this); }
private void AssociateInputFilesWithCrashItemSources() { CACmdLineFSEntityList <CACmdLineFileSource> sourceFileNames = iInputs.SourceFiles; // Emit progress banner if (iReportProgress) { Print("Categorizing files..."); } // Check each source in the engine and try to map it back onto an input source // file name. The goal is to identify input files which have no corresponding crash engine // source. These files are unsupported. CIEngineSourceCollection sources = iCrashItemEngine.Sources; int count = sources.Count; int progress = -1; for (int i = 0; i < count; i++) { CIEngineSource source = sources[i]; string sourceFileName = source.FileName; // Try to match an input file with a given source object CACmdLineFileSource inputFile = sourceFileNames[sourceFileName]; if (inputFile != null) { inputFile.Source = source; } // Report progress as we work through the sources if (iReportProgress) { float newProgress = (((float)i + 1) / (float)count) * 100.0f; if ((int)newProgress != progress || i == count - 1) { progress = (int)newProgress; Print(string.Format("{0:d3}%", progress)); } } } }