Я использую BinaryFormatter для сериализации объекта с другими другими объектами в нем. Сериализация приводит к бесконечному циклу с одним из этих объектов, и после просмотра через них я не могу найти, где этот цикл вызывает. Есть ли возможность отлаживать процесс сериализации шаг за шагом в VisualStudio или есть ли еще один инструмент для этого?Отладка сериализации BinaryFormatter
1
A
ответ
1
Одна вещь, которую вы можете попробовать, - добавить атрибуты класса [NonSerialized]
, пока сериализация не завершится успешно. Это не совсем отладка, но может быстро найти участника, вызывающего проблему.
0
Вы можете попробовать с помощью OnSerializing
или по атрибутам OnSerialized
, которые позволяют подключаться к процессу сериализации. (См ref1 и ref2)
Это большеменьше означает, что при следующем определении
[Serializable]
public class Foo{
[OnSerializing]
public void DebugHook(StreamingContext context){
//here goes magic stuff...
}
}
ваша точка останова внутри метода будет пойман визуальной студии.
Смежные вопросы
- 1. BinaryFormatter для сериализации
- 2. сериализации/десериализации список объектов с помощью BinaryFormatter
- 3. BinaryFormatter Endiannes
- 4. Отладка проблем сериализации в C#
- 5. .Net Где найти официальную спецификацию формата сериализации BinaryFormatter?
- 6. Каковы недостатки встроенной сериализации на основе BinaryFormatter .Net?
- 7. Как игнорировать свойство из сериализации с помощью BinaryFormatter?
- 8. BinaryFormatter становится медленнее, чем XmlSerializer больше деталей я сериализации/десериализации
- 9. BinaryFormatter в Silverlight
- 10. C# Binaryformatter slow
- 11. C# BinaryFormatter Serialize UserControl
- 12. Deserialization MemoryStream через BinaryFormatter
- 13. Исключение сериализации
- 14. Сериализованные объекты исчезают (BinaryFormatter)
- 15. BinaryFormatter alternative
- 16. Отличие BinaryFormatter
- 17. BinaryFormatter: SerializationException
- 18. Альтернативы BinaryFormatter
- 19. Использует ли BinaryFormatter любое сжатие?
- 20. Сериализация сложного объекта с BinaryFormatter
- 21. BinaryFormatter не сериализующее поле
- 22. BinaryFormatter в кросс-платформенном приложении
- 23. WCF сериализации и производительность
- 24. Deserialize C# with BinaryFormatter
- 25. BinaryFormatter граф объекта обновления
- 26. BinaryFormatter Deserialize дает SerializationException
- 27. BinaryFormatter ignore assembly version
- 28. BinaryReader, BinaryFormatter - они переносимы?
- 29. BinaryFormatter vs SoapFormatter
- 30. BinaryFormatter in netstandard 1.5
Вы получаете 'StackOverflowException'? Если нет, то это не сериализатор. – Aliostad