void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.IsDebuggingChanged += DbgManager_IsDebuggingChanged;
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) { this.dbgManager = dbgManager; dbgManager.CurrentThreadChanged += DbgManager_CurrentThreadChanged; dbgManager.Message += DbgManager_Message; }
public AttachableProcessImpl(DbgManager dbgManager, AttachProgramOptions attachProgramOptions, AttachableProcessInfo attachableProcessInfo) { this.dbgManager = dbgManager ?? throw new ArgumentNullException(nameof(dbgManager)); this.attachProgramOptions = attachProgramOptions ?? throw new ArgumentNullException(nameof(attachProgramOptions)); this.attachableProcessInfo = attachableProcessInfo ?? throw new ArgumentNullException(nameof(attachableProcessInfo)); }
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.ProcessPaused += DbgManager_ProcessPaused;
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.MessageBoundBreakpoint += DbgManager_MessageBoundBreakpoint;
/// <summary> /// Creates a <see cref="DbgEngine"/> or returns null if <paramref name="options"/> is unsupported /// </summary> /// <param name="dbgManager">Debug manager</param> /// <param name="options">Options</param> /// <returns></returns> public abstract DbgEngine?Create(DbgManager dbgManager, DebugProgramOptions options);
public DotNetCoreDbgEngineImpl(DbgEngineImplDependencies deps, DbgManager dbgManager, DbgStartKind startKind) : base(deps, dbgManager, startKind) { }
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.Message += DbgManager_Message;
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => uiDispatcher.UI(() => valueNodesVMFactoryImpl.Value.OnStart(dbgManager));
public void OnStart(DbgManager dbgManager) => initd = true;
internal void OnStart(DbgManager dbgManager) => dbgManager.ModulesRefreshed += DbgManager_ModulesRefreshed;
void Initialize(DbgEvaluationContext context, DbgStackFrame frame, CancellationToken cancellationToken) { if (hasInitialized) { return; } errorMessage = InitializeCore(context, frame, cancellationToken); Debug.Assert(errorMessage != null || membersCollection.Members != null); if (errorMessage == null && membersCollection.Members == null) { errorMessage = PredefinedEvaluationErrorMessages.InternalDebuggerError; } dbgManager = context.Process.DbgManager; if (errorMessage != null) { childNodeProviderInfos = new ChildNodeProviderInfo[] { new ChildNodeProviderInfo(0, 1, 0) } } ; else if ((evalOptions & DbgValueNodeEvaluationOptions.NoHideRoots) != 0 || !membersCollection.HasHideRoot || membersCollection.Members.Length == 0) { childNodeProviderInfos = new ChildNodeProviderInfo[] { new ChildNodeProviderInfo(0, (uint)membersCollection.Members.Length, 0) } } ; else { DbgDotNetValueNode valueNode = null; var list = Cache.AllocProviderList(); try { var members = membersCollection.Members; int membersBaseIndex = 0; ulong baseIndex = 0; int i; for (i = 0; i < members.Length; i++) { if (!members[i].HasDebuggerBrowsableState_RootHidden) { continue; } if (membersBaseIndex != i) { list.Add(new ChildNodeProviderInfo(baseIndex, baseIndex + (uint)(i - membersBaseIndex), (uint)membersBaseIndex)); baseIndex += (uint)(i - membersBaseIndex); membersBaseIndex = i; } cancellationToken.ThrowIfCancellationRequested(); var info = CreateValueNode(context, frame, membersBaseIndex, evalOptions, cancellationToken); valueNode = info.node; ulong childCount = info.canHide ? valueNode.GetChildCount(context, frame, cancellationToken) : 1; list.Add(new ChildNodeProviderInfo(baseIndex, baseIndex + childCount, valueNode, info.canHide)); membersBaseIndex++; baseIndex += childCount; valueNode = null; } if (membersBaseIndex != i) { list.Add(new ChildNodeProviderInfo(baseIndex, baseIndex + (uint)(i - membersBaseIndex), (uint)membersBaseIndex)); } if (list.Count == 0) { list.Add(new ChildNodeProviderInfo(0, 0, 0)); } childNodeProviderInfos = Cache.FreeAndToArray(ref list); } catch { if (valueNode != null) { dbgManager.Close(valueNode); } dbgManager.Close(list.Select(a => a.ValueNode)); throw; } } hasInitialized = true; }
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.MessageExceptionThrown += DbgManager_MessageExceptionThrown;
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.ProcessesChanged += DbgManager_ProcessesChanged;
DbgModuleIdProviderServiceImpl(DbgManager dbgManager, [ImportMany] IEnumerable <Lazy <DbgModuleIdProvider> > dbgModuleIdProviders) { this.dbgManager = dbgManager; this.dbgModuleIdProviders = dbgModuleIdProviders.ToArray(); }
void IDbgManagerStartListener.OnStart(DbgManager dbgManager) { }
private void MyCustomMethod(DbgManager dbgManager, DbgCollectionChangedEventArgs <DbgProcess> args) { }