2017-05-05 40 views
0

我有這「正常調試」只是掛執行代碼一點點「變種文件夾= ...」UWP我爲什麼debug.StepOver,但不能Debug.Run

async Task<StorageFolder> GetAssetsFolderAsync() 
    { 
     var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(@"Assets"); 
     return folder; 
    } 

我放置在兩個斷點在...

GetFolderAsync

如果我在第一個我可以Debug.StepOver到線「返回文件夾」打破。如果我使用debug.Run而不是去掉下一個斷點。該方法從MainPage_Loaded調用。任何想法如何我可以糾正這個問題。而薄離奇的是,它使用沒有問題的工作,我還沒有改變的那些lines.ie很多其他的)

+0

試試這個,在任務內的那條線上設置一個斷點。當步入時不起作用。 –

+0

您必須關注此代碼的調用者。如果它不等待電話,那麼你會得到這種行爲。和海龜一路下滑,呼叫者的呼叫者等待,等調試>窗口>調用棧和調試>窗口>任務調試器窗口是你的朋友。 –

+0

您是在Debug還是Release模式下運行代碼? – svick

回答

0

一個很長很長的搜索後,我發現從飛碟雙向先生和克利先生的答案。我阻止了UI線程。

它在這裏遠更詳細地解釋:

Call to await GetFileAsync() never returns and app hangs in WinRT app

我不認爲我會想到它。它被固定爲:

public async static Task<bool> StaticInitializeAsync() 
    { 
     recordingsFolder = await getRecordingsFolderAsync(); 
     AssetsFolder = await Statics.InstallationFolder.GetFolderAsync(@"Assets"); 
     defaultWavFile = await AssetsFolder.GetFileAsync("Default.wav"); 
     return true; 
    } 
+0

感謝您在這裏分享您的解決方案,您可以將其標記爲答案。 –

0

我相信你會得到它的Visual Studio默默地爲你處理異常。

嘗試打開例外設置,並就任何異常確保其剎車。

  1. 調試 - >窗口 - >例外設置
  2. 標記所有的CLR異常

編輯: 也試圖搭上AggregateException,與TPL打交道時,這些可以換真例外。

相關問題