У меня есть приложение Silverlight для Windows Phone 7. Это приложение работает нормально, кроме случаев, когда пользователь захороняет приложение и пытается его повторно активировать. Когда они пытаются реагировать на приложение, я получаю исключение NullReferenceException, когда я захлопываю приложение на одной конкретной странице. Моя проблема в том, что я не могу на всю жизнь определить истинную причину этого исключения.
Кто-нибудь знает какие-нибудь хорошие бесплатные инструменты, которые помогли бы мне изучить потенциальную причину? Или у кого-нибудь есть способ определить причину. Трассировка стека не помогает, как это выглядит, но не определяет, где проблема в моем коде:
at System.Runtime.Serialization.XmlFormatReader.StoreCollectionValue(Object& collection, Object value, CollectionDataContract collectionContract)
at System.Runtime.Serialization.XmlFormatReader.LoadValueOfCollection(DeserializedObject desObj, Object value, Int32 membersRead, Type itemType)
at System.Runtime.Serialization.XmlFormatReader.ReadGetOnlyCollectionItem(DeserializedObject desObj, CollectionDataContract collectionContract, Int32 membersRead)
at System.Runtime.Serialization.XmlFormatReader.ReadGetOnlyCollection(DeserializedObject desObj, CollectionDataContract collectionContract, Int32 membersRead)
at System.Runtime.Serialization.XmlFormatReader.Deserialize(XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlFormatReader.InitializeCallStack(DataContract clContract, XmlReaderDelegator xmlReaderDelegator, XmlObjectSerializerReadContext xmlObjContext, XmlDictionaryString[] memberNamesColl, XmlDictionaryString[] memberNamespacesColl)
at System.Runtime.Serialization.CollectionDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, DataContract& dataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(XmlDictionaryReader reader)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(Stream stream)
at Microsoft.Phone.Shell.StreamPersister.Deserialize(Byte[] blob, IEnumerable`1 knownTypes, IDictionary`2& dictionary)
at Microsoft.Phone.Shell.StreamPersister.Load(ShellPageManager shellPageManager, String key, IEnumerable`1 knownTypes, IDictionary`2& dictionary)
at Microsoft.Phone.Shell.PhoneApplicationService.FireActivated()
at Microsoft.Phone.Execution.NativeEmInterop.FireOnResume()
Это похоже на проблему с сериализацией. Тем не менее, я не знаю, что может вызвать проблемы. Спасибо!