Не удается получить доступ к методу внутри задачи TPL из NUnit - PullRequest
0 голосов
/ 03 мая 2019

У меня есть class с длинным полем Task. По какой-то причине, когда я отлаживаю с NUnit, я не могу ввести метод, который запускается внутри Task с помощью отладчика, и посмотреть, что случается.

class WorkerTests {

        class Loop {
            public Task innerLoop;
            public void Run(CancellationToken token) {
                this.innerLoop = Task.Run(LoopAsync, token); //wont enter in LoopAsync
            }
            private async Task LoopAsync() {
                while (true) {   //i want to reach here
                    Debug.WriteLine("in loop");
                    await Task.Delay(1000);
                }
            }
        }
        [TestCase]
        public async Task TestLoop() {
            CancellationTokenSource src = new CancellationTokenSource();
            Loop loop = new Loop();
            loop.Run(src.Token);
            await loop.innerLoop;
        }
}

Как мне связаться с отладчиком в методе LoopAsync?

1 Ответ

0 голосов
/ 03 мая 2019

Я не мог войти с помощью отладчика в Task, потому что в моем случае метод был в другом DLL (формируется окно). У этого DLL не было загруженных отладочных символов.Я решил это с Project->Properties->Build->Advanced->Debugging Information set to Full

...