我们正在从 .NET 原生序列化转移到 protobuf-net。现在我们正试图“取消绘制”一个复杂的数据结构,因为我们遇到了一个异常“反序列化期间引用跟踪的对象更改了引用”。我知道我们需要继续重构所涉及的类,但我无法掌握调试信息。
我编辑的堆栈跟踪:
en ProtoBuf.BclHelpers.ReadNetObject(Object value, ProtoReader source, Int32 key, Type type, NetObjectOptions options)
en proto_6(Object , ProtoReader )
en proto_14(Object , ProtoReader )
en proto_12(Object , ProtoReader )
en proto_6(Object , ProtoReader )
en proto_4(Object , ProtoReader )
en proto_2(Object , ProtoReader )
en My.BlobManager.deserialize(Byte[] buffer)
en My.BlobManager.Load(String guid)
我假设“proto_N”指的是标记属性,对吧?这些数字与标签相同吗?欢迎任何有关如何调试的建议。问候,H.