2016-05-31 55 views
0

當使用Android的Visual Studio模擬器時,當我嘗試逐行跳轉時,會跳過某些行。爲什麼VS2015在調試模式下使用跳過(F10)時跳過線

AppDomain.CurrentDomain.UnhandledException += ApplicationUnhandledExceptionHandler; 
TaskScheduler.UnobservedTaskException += UnobservedTaskExceptionHandler; 

以上幾行在模擬器上被跳過,但在設備上不被跳過。我正在檢查這個,因爲處理程序不在模擬器上調用。我試圖直接設置斷點而沒有成功。

在調試模式下跳行的原因是什麼?

+0

您確定您正在執行的代碼與您正在調試的代碼相同嗎? –

+0

在調試設置中有一個設置來控制它...顯然,屬性獲取/設置可以被認爲是「噪音」並被跳過。 – Clay

+0

你能夠打破System.Diagnostics.Debugger.Break();聲明? –

回答

3

有時Android的部署會很困惑 - 斷點無法觸發(他們通常顯示在編輯器裝訂線,這表明源不匹配的空心圓),應用程序不運行你所期望的方式等

當IDE顯示的代碼不同意你的設備或模擬器在做什麼,然後我發現強制卸載軟件包,然後從IDE重新部署通常可以解決它。這可以通過使用ADB命令提示符並運行"adb uninstall com.company.packagename"最可靠地完成。之後,就像平常一樣,重新從IDE重建和部署/運行應用程序。

+0

是的,卸載模擬器中的應用程序是解決方案。不知道爲什麼它不同步,因爲我已經做了一個乾淨的重建。 – testing

+0

它似乎隨機發生在我身上,但是如果我添加/刪除程序包依賴項或者如果在調試/版本生成目標之間切換,它幾乎總會發生。 –

2

我發現在visual studio 2015中去Tools -> Options -> Debugging -> General確保Enable .NET Framework source stepping被選中。

重建後,你應該很好去。