コード例 #1
0
        private void ResolveThreadStartAddress(int tid, ulong startAddress)
        {
            ResolveMessage result = new ResolveMessage();

            result.Tid = tid;

            if (!_moduleLoadCompletedEvent.SafeWaitHandle.IsClosed)
            {
                try
                {
                    _moduleLoadCompletedEvent.WaitOne();
                }
                catch
                { }
            }

            if (_symbols == null)
            {
                return;
            }

            try
            {
                Interlocked.Increment(ref _loading);

                if (this.LoadingStateChanged != null)
                {
                    this.LoadingStateChanged(Thread.VolatileRead(ref _loading) > 0);
                }

                try
                {
                    SymbolFlags flags;
                    string      fileName;

                    result.Symbol = _symbols.GetSymbolFromAddress(
                        startAddress,
                        out result.ResolveLevel,
                        out flags,
                        out fileName
                        );
                    result.FileName = fileName;
                    _messageQueue.Enqueue(result);
                }
                catch
                { }
            }
            finally
            {
                Interlocked.Decrement(ref _loading);

                if (this.LoadingStateChanged != null)
                {
                    this.LoadingStateChanged(Thread.VolatileRead(ref _loading) > 0);
                }
            }
        }
コード例 #2
0
        public void ResolveMessageSerializationTest()
        {
            var om = new ResolveMessage(InstanceName, ServiceType, Domain, InterfaceIndex);

            var dm = ServiceMessageTestHelper.SerializeDeserializeTest(om);

            dm.Payload.InstanceName.Should().Be(InstanceName);
            dm.Payload.ServiceType.Should().Be(ServiceType);
            dm.Payload.Domain.Should().Be(Domain);
            dm.Payload.InterfaceIndex.Should().Be(InterfaceIndex);
        }
コード例 #3
0
        public bool Equals(GroupMemberApplication input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     GroupId == input.GroupId ||
                     (GroupId.Equals(input.GroupId))
                     ) &&
                 (
                     CreationDate == input.CreationDate ||
                     (CreationDate != null && CreationDate.Equals(input.CreationDate))
                 ) &&
                 (
                     ResolveState == input.ResolveState ||
                     (ResolveState != null && ResolveState.Equals(input.ResolveState))
                 ) &&
                 (
                     ResolveDate == input.ResolveDate ||
                     (ResolveDate != null && ResolveDate.Equals(input.ResolveDate))
                 ) &&
                 (
                     ResolvedByMembershipId == input.ResolvedByMembershipId ||
                     (ResolvedByMembershipId.Equals(input.ResolvedByMembershipId))
                 ) &&
                 (
                     RequestMessage == input.RequestMessage ||
                     (RequestMessage != null && RequestMessage.Equals(input.RequestMessage))
                 ) &&
                 (
                     ResolveMessage == input.ResolveMessage ||
                     (ResolveMessage != null && ResolveMessage.Equals(input.ResolveMessage))
                 ) &&
                 (
                     DestinyUserInfo == input.DestinyUserInfo ||
                     (DestinyUserInfo != null && DestinyUserInfo.Equals(input.DestinyUserInfo))
                 ) &&
                 (
                     BungieNetUserInfo == input.BungieNetUserInfo ||
                     (BungieNetUserInfo != null && BungieNetUserInfo.Equals(input.BungieNetUserInfo))
                 ));
        }