2017-02-13 49 views
3

我已經開發了一個UWP應用的作品在全球範圍很好,但我遇到一些問題商店應用程序,或與發佈構建,而所有工作正常調試構建...如何調試在Release模式的UWP應用+「淨本地工具鏈」

該應用程序似乎很基本:ts允許用戶通過webservices創建和同步表單。在應用程序啓動時,會進行測試以查看用戶是否已登錄:如果不是這種情況,應用程序將導航到「登錄」頁面,否則將導航到「主頁」頁面,其中包含表單列表。然後用戶可以通過「詳情」頁面編輯每個表單。

「調試」模式:

當我打造「調試」模式的應用程序,我不會遇到沒有釣到任何異常,一切工作正常

的商店應用:

的商店應用的最新版本已成功生成,並沒有任何問題驗證。但是,當用戶從「詳細信息」頁面回到「主頁」頁面時,我的最後一項更改導致應用程序的一個崩潰。

我懷疑尤其是這變化引發錯誤:我已經通過「OnNavigatedFrom()補充說:」對「詳細」一些代碼以清理資源:

protected override void OnNavigatedFrom(NavigationEventArgs e) 
{ 
    ViewModel = this.DataContext as DetailsViewModel; 
    if (!ViewModel.ToChildNavigate) 
    { 
     // Dispose resources 
     this.Resources.Clear(); 
     this.Loaded -= DetailsPage_Loaded; 
     ViewModel = null; 
    } 
    base.OnNavigatedFrom(e);    
} 

要解決這個,我想用「.Net原生工具鏈」在「發佈」模式下構建應用程序。

「釋放」 模式:

在 「發佈」 的模式,我已簽好了選項 「編譯.NET本地工具鏈」 和 「優化代碼」。 enter image description here

該應用程序啓動正確,並導航罰款「登錄」頁面。但在用戶連接後,該應用程序嘗試導航到「主頁」頁面:我得到2例外,而且我什麼也做不了......

第一種例外情況發生一次,我可以「繼續」: enter image description here

我試着補充一些: enter image description here

第二個例外各即使我嘗試繼續時有發生MessageDialog上看到錯誤的發生,但在consctructors沒有顯示消息:所以我不能確定問題的根源...

「d ebug本地工具鏈「與模式‘’

最後,我試圖建立的應用程序‘調試’再次模式,但與選項‘編譯.NET本地工具鏈’和」 優化代碼「。

但就是這樣,它工作正常,我不能重現「釋放」模式中遇到的錯誤...

我沒有其他想法,我不能anwser這些問題:

  • 爲什麼Store版本和發佈模式之間存在差異?
  • 我如何才能在發佈模式下使用該應用?是否有可能「調試」它?
  • 我要推出的發行模式還是傳統的存儲版本遇到的bug應用程序...

問候,

回答

3

發佈配置默認優化代碼它失去了一些用於調試的工件。因此,嘗試調試版本配置會導致一些問題。

It is important to note that the Release configuration is by default fully optimized code (e.g. code inlining will be applied in many places). These optimizations will have a significant impact on the debugging experience including unpredictable stepping and breakpoint behavior (due to code inlining) and the inability to inspect most variables due to memory optimizations.

所以調試在「釋放」模式UWP應用程序,我們可以創建自定義配置並啓用該配置的.NET本地工具鏈。確保不要優化代碼。請參閱Debugging .NET Native Windows Universal Apps

+0

謝謝@Jay Zut:這不適合我。我在鏈接中添加了一個新的配置:'Release','編譯.NET Native工具鏈','取消選中優化代碼'。但是斷點永遠不可用:「斷點不會被打到,沒有符號被加載到這個文檔中」。你可以看到我的其他測試[這裏](http:// stackoverflow。COM /問題/ 42256423 /視覺工作室-2015-I-着調試和使用的斷點,在釋放模式) –

1

前段時間我有同樣的問題。經過很長時間的嘗試和錯誤,我可以在發佈模式下使用.net原生工具鏈在另一臺PC上進行遠程調試(在我的情況下,它是一個表面)。

我使用的Visual Studio 2017的遠程計算機上的遠程調試工具2017年

希望這有助於。

問候。

相關問題