internal DebugProcess(DebugContext context, ICorDebugProcess process) { this.context = context; this.process = process; this.Process = Process.GetProcessById(process.GetID()); }
public static DebugContext ForRuntime(ICLRRuntimeInfo runtime) { var versionBuilder = new StringBuilder(); var versionBuilderCapacity = versionBuilder.Capacity; runtime.GetVersionString(versionBuilder, ref versionBuilderCapacity); var version = versionBuilder.ToString(); DebugContext debugContext; if (!DebugContexts.TryGetValue(version, out debugContext)) { DebugContexts.Add(version, debugContext = new DebugContext(runtime)); } return debugContext; }
protected virtual void Dispose(bool disposeManagedObjects) { if (this.disposed || !disposeManagedObjects) { return; } this.Process.Dispose(); this.Detach(); this.context = null; this.process = null; this.disposed = true; }