示例#1
0
 public void WriteIssuesForProcess(AnalyzerTraceProcess process, List <AnalyzerIssue> issues)
 {
     _writer.WriteLine($"<H3>Process {process.DisplayID}: {process.Description}</H3>");
     _writer.WriteLine("<Table Border=\"1\">");
     _writer.WriteLine("<TR><TH>Issue Title</TH><TH>Notes</TH></TR>");
     foreach (AnalyzerIssue issue in issues)
     {
         _writer.WriteLine($"<TR><TD>{issue.Title}</TD><TD>{issue.Description}<BR/><BR/>More details: <A HREF=\"{issue.URL}\">{issue.URL}</A></TD></TR>");
     }
     _writer.WriteLine("</Table>");
 }
        StackView ITrace.GetCPUStacks(AnalyzerTraceProcess process)
        {
            StackView    stackView    = null;
            TraceProcess traceProcess = TraceLog.Processes[(ProcessIndex)process.UniqueID];

            if (traceProcess != null)
            {
                StackSource stackSource = TraceLog.CPUStacks(traceProcess);
                stackView = new StackView(traceProcess.Log, stackSource, SymbolReader);
            }
            return(stackView);
        }
        public List <AnalyzerIssue> this[AnalyzerTraceProcess process]
        {
            get
            {
                List <AnalyzerIssue> issues;
                if (!_issues.TryGetValue(process, out issues))
                {
                    issues = new List <AnalyzerIssue>();
                    _issues.Add(process, issues);
                }

                return(issues);
            }
        }
示例#4
0
        public ProcessContext(AnalyzerExecutionContext executionContext, AnalyzerTraceProcess process)
        {
            _executionContext = executionContext;
            AnalyzerProcess   = process;
            AutomatedAnalysisTraceLog traceLog = executionContext.Trace as AutomatedAnalysisTraceLog;

            if (traceLog != null)
            {
                Process = traceLog.TraceLog.Processes[(ProcessIndex)process.UniqueID];
            }

            Issues        = executionContext.Issues[process];
            _symbolReader = executionContext.SymbolReader;
        }
        // Keep this for now because GLAD depends on it.
        public List <AnalyzerIssue> this[TraceProcess process]
        {
            get
            {
                AnalyzerTraceProcess traceProcess = new AnalyzerTraceProcess((int)process.ProcessIndex, process.ProcessID, process.CommandLine, process.ManagedProcess());
                List <AnalyzerIssue> issues;
                if (!_issues.TryGetValue(traceProcess, out issues))
                {
                    issues = new List <AnalyzerIssue>();
                    _issues.Add(traceProcess, issues);
                }

                return(issues);
            }
        }