Exemplo n.º 1
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.IsDebuggingChanged += DbgManager_IsDebuggingChanged;
Exemplo n.º 2
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager)
 {
     this.dbgManager = dbgManager;
     dbgManager.CurrentThreadChanged += DbgManager_CurrentThreadChanged;
     dbgManager.Message += DbgManager_Message;
 }
Exemplo n.º 3
0
 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;
Exemplo n.º 5
0
		void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.MessageBoundBreakpoint += DbgManager_MessageBoundBreakpoint;
Exemplo n.º 6
0
 /// <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);
Exemplo n.º 7
0
 public DotNetCoreDbgEngineImpl(DbgEngineImplDependencies deps, DbgManager dbgManager, DbgStartKind startKind)
     : base(deps, dbgManager, startKind)
 {
 }
Exemplo n.º 8
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.Message += DbgManager_Message;
Exemplo n.º 9
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => uiDispatcher.UI(() => valueNodesVMFactoryImpl.Value.OnStart(dbgManager));
Exemplo n.º 10
0
 public void OnStart(DbgManager dbgManager) => initd = true;
Exemplo n.º 11
0
 internal void OnStart(DbgManager dbgManager) => dbgManager.ModulesRefreshed += DbgManager_ModulesRefreshed;
Exemplo n.º 12
0
        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;
        }
Exemplo n.º 13
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.MessageExceptionThrown += DbgManager_MessageExceptionThrown;
Exemplo n.º 14
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager) => dbgManager.ProcessesChanged += DbgManager_ProcessesChanged;
Exemplo n.º 15
0
 DbgModuleIdProviderServiceImpl(DbgManager dbgManager, [ImportMany] IEnumerable <Lazy <DbgModuleIdProvider> > dbgModuleIdProviders)
 {
     this.dbgManager           = dbgManager;
     this.dbgModuleIdProviders = dbgModuleIdProviders.ToArray();
 }
Exemplo n.º 16
0
 void IDbgManagerStartListener.OnStart(DbgManager dbgManager)
 {
 }
 private void MyCustomMethod(DbgManager dbgManager, DbgCollectionChangedEventArgs <DbgProcess> args)
 {
 }