1

我正在使用 BinaryFormatter 序列化具有不同其他对象的对象。序列化导致这些对象之一的无限循环,经过数小时查看它们,我找不到该循环导致的位置。是否有可能在 VisualStudio 中逐步调试序列化过程,或者是否有其他工具可以做到这一点?

4

2 回答 2

1

您可以尝试的一件事是[NonSerialized]向类成员添加属性,直到序列化成功。它不完全是调试,但可能会很快找到导致问题的成员。

于 2012-04-10T15:24:47.007 回答
0

您可以尝试使用OnSerializing或使用OnSerialized允许您挂钩到序列化过程的属性。(见ref1ref2)

它更不意味着具有以下定义

[Serializable]
public class Foo{

   [OnSerializing]
   public void DebugHook(StreamingContext context){
     //here goes magic stuff...
   }
}

方法内的断点将被visual studio捕获。

于 2014-02-02T18:17:44.583 回答