public void WriteIssuesForProcess(AutomatedAnalysisTraceProcess process, List <AutomatedAnalysisIssue> 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 (AutomatedAnalysisIssue 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 IAutomatedAnalysisTrace.GetCPUStacks(AutomatedAnalysisTraceProcess 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 <AutomatedAnalysisIssue> this[AutomatedAnalysisTraceProcess process] { get { List <AutomatedAnalysisIssue> issues; if (!_issues.TryGetValue(process, out issues)) { issues = new List <AutomatedAnalysisIssue>(); _issues.Add(process, issues); } return(issues); } }
public ProcessContext(AutomatedAnalysisExecutionContext executionContext, AutomatedAnalysisTraceProcess process) { _executionContext = executionContext; AutomatedAnalysisProcess = 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 <AutomatedAnalysisIssue> this[TraceProcess process] { get { AutomatedAnalysisTraceProcess traceProcess = new AutomatedAnalysisTraceProcess((int)process.ProcessIndex, process.ProcessID, process.CommandLine, process.ManagedProcess()); List <AutomatedAnalysisIssue> issues; if (!_issues.TryGetValue(traceProcess, out issues)) { issues = new List <AutomatedAnalysisIssue>(); _issues.Add(traceProcess, issues); } return(issues); } }