簡體   English   中英

為什么我在調試器 C# UWP VS2017 中看不到局部變量?

[英]Why can't I see local variables in debugger, C# UWP VS2017?

我正在嘗試調試使用 Xamarin 表單構建的應用程序,並且現在在 Windows 上使用 C# 運行,但我在調試簡單的事情時遇到問題,因為調試器無法訪問方法中的局部變量。 我什至在下面創建了一個簡單的測試,如果我在輸出行上放置斷點,將輸出“hello”,但在監視窗口中它說測試未在上下文中定義。 這是一個簡單的例子,但在其他方法中也存在同樣的事情。 我想知道它是否與異步方法有關? 是否有我需要啟用的選項?

protected override async void OnStart()
{
    string test = "hello";
    System.Diagnostics.Debug.WriteLine(test);  // If I put breakpoint here, I can't see 'test'.
}

我已在 Xamarin.Forms 2.2.0.45 版中重現了您的問題。 您可以嘗試將 Xamarin.Forms 更新到最新版本。 右鍵單擊solution -> Manager NuGet Package for Solution -> 單擊 NuGet Package Manager 選項卡上的 Updates 按鈕 -> 檢查所有客戶端項目更新到 laset 版本,就像下面的屏幕截圖在此處輸入圖片說明

至於您使用的異步方法,您可以在方法中使用await關鍵字。

await Task.Factory.StartNew(() =>
{
    string test = "hello";
    System.Diagnostics.Debug.WriteLine(test);
});

如果你沒有使用 await 關鍵字,該方法將被同步調用。 並且語句也會在方法中執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM