簡體   English   中英

什么會導致在“ TaskModel.Interop.Task.SaveTaskState”處發生異常,我該如何調試?

[英]What would cause an exception to occur at “TaskModel.Interop.Task.SaveTaskState” and how can I debug it?

對於我的Windows Phone 8應用程序之一,我看到的崩潰數量很高,其中包含以下詳細信息:

錯誤

狀態保存失敗。 這很可能是由於狀態緩沖區容量不足所致。 應用需要[3289135]個字節,可能超過NavServer限制

堆棧跟蹤

在Microsoft.Phone.TaskModel.Interop.Task.SaveTaskState()在Microsoft.Phone.TaskModel.Interop.Task.FireOnPause(UInt32原因);

顯然,這些是內部函數,但我不知道為什么會發生。 對於這種例外情況,我在網上找不到很少的信息,除了似乎出現了保存和恢復狀態。 我正在按照MSDN上的本指南中的方法進行操作:

https://msdn.microsoft.com/en-us/library/windows/apps/ff967548(v=vs.105).aspx

在MSDN論壇上也有一個類似的問題,沒有明確的答案:

https://social.msdn.microsoft.com/Forums/windowsapps/en-US/74934801-8713-42be-9216-825cd0c09851/strange-0x87b20c05-exception?forum=wpdevelop

問題:是否有任何明顯的原因導致發生此異常,或者以任何方式嘗試重現此異常?

因此,鑒於錯誤消息,最終的答案很明顯:

應用需要[3289135]個字節,可能超過NavServer限制

基本上,我有一個從IsolatedStorage加載的List ,其中包含大量數據,當該應用程序被停用或在后台開始運行時,我的視圖模型上的數據保存為State

我通過使用屬性[IgnoreDataMember]將此List標記來解決此問題,因此我的大型List將不會保存到State 我只是重新加載List以便在OnNavigatedTo事件中顯示。 基本上,請確保視圖模型中沒有大量數據。 以我為例,僅3MB以上的數據導致出現此錯誤。

暫無
暫無

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

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