public override Task <GetHitCountResponse> GetHitCount(
            GetHitCountRequest request, ServerCallContext context)
        {
            SbBreakpointLocation location = GetBreakpointLocation(request.BreakpointLocation);
            uint result = location.GetHitCount();

            return(Task.FromResult(new GetHitCountResponse {
                Result = result
            }));
        }
Exemplo n.º 2
0
 public int GetHitCount(out uint hitCount)
 {
     hitCount = 0;
     if (_deleted)
     {
         return(AD7Constants.E_BP_DELETED);
     }
     hitCount = _breakpointLocation.GetHitCount();
     if (hitCount < _baseHitCount)
     {
         Trace.WriteLine(
             $"Error: Inconsistent hitcount - base hit count ({_baseHitCount}) is " +
             $"smaller than actual hitcount {hitCount}.");
         hitCount = 0;
     }
     else
     {
         hitCount = Convert.ToUInt32(Convert.ToInt32(hitCount) - _baseHitCount);
     }
     return(VSConstants.S_OK);
 }
        public void SetPassCountEqualLarge()
        {
            const uint   PASS_COUNT = 3;
            const uint   HIT_COUNT  = 1;
            BP_PASSCOUNT passCount;

            passCount.dwPassCount    = PASS_COUNT;
            passCount.stylePassCount = enum_BP_PASSCOUNT_STYLE.BP_PASSCOUNT_EQUAL;
            mockBreakpointLocation.GetHitCount().Returns(HIT_COUNT);
            boundBreakpoint.SetPassCount(passCount);
            mockBreakpointLocation.Received(1).SetIgnoreCount(1);
            mockBreakpointLocation.DidNotReceive().SetEnabled(false);
        }
        public void SetUp()
        {
            string name = "";

            mockBreakpoint         = Substitute.For <RemoteBreakpoint>();
            lineEntry              = new LineEntryInfo();
            mockPendingBreakpoint  = Substitute.For <IDebugPendingBreakpoint2>();
            mockBreakpointLocation = Substitute.For <SbBreakpointLocation>();
            mockAddress            = Substitute.For <SbAddress>();
            mockAddress.GetLineEntry().Returns(lineEntry);
            mockBreakpointLocation.GetHitCount().Returns(HIT_COUNT);
            mockBreakpointLocation.GetLoadAddress().Returns(ADDRESS);
            mockBreakpointLocation.GetBreakpoint().Returns(mockBreakpoint);
            mockBreakpointLocation.GetId().Returns(ID);
            mockBreakpointLocation.GetAddress().Returns(mockAddress);
            mockprogram         = Substitute.For <IDebugProgram2>();
            mockDocumentContext = Substitute.For <IDebugDocumentContext2>();
            mockDocumentContext.GetName(enum_GETNAME_TYPE.GN_NAME, out name).Returns(
                x =>
            {
                x[1] = NAME;
                return(VSConstants.S_OK);
            });
            mockBreakpointResolution   = Substitute.For <IDebugBreakpointResolution2>();
            mockDocumentContextFactory = Substitute.For <DebugDocumentContext.Factory>();
            mockDocumentContextFactory.Create(lineEntry).Returns(mockDocumentContext);
            mockCodeContext        = Substitute.For <IDebugCodeContext2>();
            mockCodeContextFactory = Substitute.For <DebugCodeContext.Factory>();
            mockCodeContextFactory.Create(ADDRESS, NAME,
                                          mockDocumentContext, Guid.Empty).Returns(mockCodeContext);
            mockBreakpointResolutionFactory =
                Substitute.For <DebugBreakpointResolution.Factory>();
            mockBreakpointResolutionFactory.Create(mockCodeContext, mockprogram).Returns(
                mockBreakpointResolution);
            boundBreakpointFactory = new DebugBoundBreakpoint.Factory(mockDocumentContextFactory,
                                                                      mockCodeContextFactory, mockBreakpointResolutionFactory);
            boundBreakpoint = boundBreakpointFactory.Create(
                mockPendingBreakpoint, mockBreakpointLocation, mockprogram, Guid.Empty);
        }