2014-10-29 36 views
8

我有Visual Studio專業版2013,我正在調試一個使用異步/等待廣泛的應用程序。但是當我停在斷點處並打開Debug/Windows/Tasks窗口時,它總是說「沒有要顯示的任務」。VS2013調試/ Windows /任務:「沒有任務顯示」

我做了兩個測試,在一個我可以看到任務,在另一個我不能(我運行程序,並暫停它)。或者我可以在等待任務線斷點。

using System; 
using System.Threading; 
using System.Threading.Tasks; 

namespace TasksDebugWindowTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      DoesNotWork(); 
     } 

     static void Works() 
     { 
      Console.WriteLine("Starting"); 
      var t = Task.Factory.StartNew(() => 
      { 
       Task.Delay(100 * 1000).Wait(); 
       Console.WriteLine("Task complete"); 
      }); 
      Console.WriteLine("Status: {0}", t.Status); 
      Thread.Sleep(500); 
      Console.WriteLine("Status: {0}", t.Status); 
      t.Wait(); 
      Console.WriteLine("Done"); 
     } 

     static void DoesNotWork() 
     { 
      Console.WriteLine("Starting"); 
      var t = Task.Delay(100 * 1000); 
      t.Wait(); // **** Breakpoint here 
      Console.WriteLine("Task complete"); 
     } 
    } 
} 

任何人都可以解釋爲什麼我可以看到任務在一個案件,但沒有在另一個?

+0

它應該顯示,我創建了[一個簡單的測試程序](https://dotnetfiddle.net/mVHNSq),當我看着我的任務視圖[它顯示](http://i.stack.imgur .com/I2oIv.png)(這個截圖來自VS2013 Premium)。你可以添加一個簡單的測試程序來複制問題並將其發佈到你的問題中[作爲編輯](http://stackoverflow.com/posts/26638563/edit)?沒有可重複的例子,你的問題可能會被關閉。 – 2014-10-29 19:15:34

+0

感謝Scott,添加了代碼,並設法使其在一個案例中工作。 – 2014-10-29 19:39:22

+0

你可以發佈它的截圖不工作嗎?如果我[在等待期間暫停](http://i.stack.imgur.com/jZyKP.png)或者我[使用斷點](http:/ /i.stack.imgur.com/mZK5i.png) – 2014-10-29 21:31:18

回答