Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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));
                    }
                }
            }
        }