상속: IRExecutionTracer
예제 #1
0
        /// <summary>
        /// Obtain an instance of <see cref="IRExecutionTracer"/> for the given <see cref="IRSession"/>.
        /// </summary>
        public static async Task<IRExecutionTracer> TraceExecutionAsync(this IRSession session, CancellationToken cancellationToken = default(CancellationToken)) {
            RExecutionTracer tracer;

            await _tracersSem.WaitAsync(cancellationToken).ConfigureAwait(false);
            try {
                if (!_tracers.TryGetValue(session, out tracer)) {
                    tracer = new RExecutionTracer(session);
                    await tracer.InitializeAsync(cancellationToken).ConfigureAwait(false);
                    _tracers.Add(session, tracer);
                }

                session.Disposed += Session_Disposed;
            } finally {
                _tracersSem.Release();
            }

            return tracer;
        }
예제 #2
0
        /// <summary>
        /// Obtain an instance of <see cref="IRExecutionTracer"/> for the given <see cref="IRSession"/>.
        /// </summary>
        public static async Task <IRExecutionTracer> TraceExecutionAsync(this IRSession session, CancellationToken cancellationToken = default(CancellationToken))
        {
            RExecutionTracer tracer;

            await _tracersSem.WaitAsync(cancellationToken).ConfigureAwait(false);

            try {
                if (!_tracers.TryGetValue(session, out tracer))
                {
                    tracer = new RExecutionTracer(session);
                    await tracer.InitializeAsync(cancellationToken).ConfigureAwait(false);

                    _tracers.Add(session, tracer);
                }

                session.Disposed += Session_Disposed;
            } finally {
                _tracersSem.Release();
            }

            return(tracer);
        }
예제 #3
0
 internal RBreakpoint(RExecutionTracer tracer, RSourceLocation location) {
     _tracer = tracer;
     Location = location;
 }
예제 #4
0
 internal RBreakpoint(RExecutionTracer tracer, RSourceLocation location)
 {
     _tracer  = tracer;
     Location = location;
 }