Protobuf-Net неожиданный вызов метода ⇐ C#

Место общения программистов C#
Anonymous
Protobuf-Net неожиданный вызов метода

Сообщение Anonymous »

Я использую Protobuf-Net версию 3.2.52 < /p>
Во время десериализации возникает вызов метода неожиданно.
Как Protobuf может назвать этот метод, когда на него ссылаются только 15 раз во всем решении, и я устанавливаю точки разрыва во всех 15 ссылках? Как это могло быть?

Код: Выделить всё

Kiwy.Core.Engine.dll!Kiwy.Core.Engine.StructCurve.SetCurve3D(Kiwy.Core._3D.WrapCurve3D curve3D) Ligne 81    C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SubTypeState value) Ligne 49    C#
protobuf-net.Core.dll!ProtoBuf.Serializers.SubTypeState.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.ISubTypeSerializer serializer) Ligne 412   C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SubTypeState value) Ligne 49    C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadBaseType(Kiwy.Core.Engine.StructCurve value, ProtoBuf.Serializers.ISubTypeSerializer serializer) Ligne 1128  C#
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, Kiwy.Core.Engine.StructCurve value) Ligne 20 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage
, Kiwy.Core.Engine.StructCurve>(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.StructCurve value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1022  C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadRepeatedCore(ref ProtoBuf.Internal.ReadBuffer values, ProtoBuf.Serializers.SerializerFeatures category, ProtoBuf.WireType wireType, ProtoBuf.Serializers.ISerializer serializer, ProtoBuf.Serializers.SerializerFeatures features) Ligne 244 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.FillBuffer(ProtoBuf.Serializers.SerializerFeatures features, ProtoBuf.Serializers.ISerializer serializer, Kiwy.Core.Engine.StructCurve initialValue) Ligne 301 C#
protobuf-net.Core.dll!ProtoBuf.Serializers.RepeatedSerializer.ReadRepeated(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SerializerFeatures features, System.Collections.Generic.List values, ProtoBuf.Serializers.ISerializer serializer) Ligne 364  C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.SimpleCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, System.__Canon value) Ligne 107 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.StructCurveMap value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1022  C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.StructCurveMap value, ProtoBuf.Serializers.ISerializer  serializer) Ligne 1010 C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.SimpleCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, System.__Canon value) Ligne 107 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.WFrame value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1022  C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.WFrame value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1010 C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SubTypeState value) Ligne 49    C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadBaseType(Kiwy.Core.Engine.WConcept value, ProtoBuf.Serializers.ISubTypeSerializer serializer) Ligne 1128  C#
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, Kiwy.Core.Engine.WConcept value) Ligne 20   C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.WConcept value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1022  C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadRepeatedCore(ref ProtoBuf.Internal.ReadBuffer values, ProtoBuf.Serializers.SerializerFeatures category, ProtoBuf.WireType wireType, ProtoBuf.Serializers.ISerializer serializer, ProtoBuf.Serializers.SerializerFeatures features) Ligne 244    C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.FillBuffer(ProtoBuf.Serializers.SerializerFeatures features, ProtoBuf.Serializers.ISerializer serializer, Kiwy.Core.Engine.WConcept initialValue) Ligne 301 C#
protobuf-net.Core.dll!ProtoBuf.Serializers.RepeatedSerializer.ReadRepeated(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SerializerFeatures features, System.Collections.ObjectModel.ObservableCollection values, ProtoBuf.Serializers.ISerializer serializer) Ligne 364  C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SubTypeState value) Ligne 49    C#
protobuf-net.Core.dll!ProtoBuf.Serializers.SubTypeState.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.ISubTypeSerializer serializer) Ligne 412  C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(ref ProtoBuf.ProtoReader.State state, ProtoBuf.Serializers.SubTypeState value) Ligne 49    C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadBaseType(Kiwy.Core.Engine.Component.Work value, ProtoBuf.Serializers.ISubTypeSerializer  serializer) Ligne 1128  C#
protobuf-net.dll!ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, Kiwy.Core.Engine.Component.Work value) Ligne 20 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.Component.Work value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1022  C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadMessage(ProtoBuf.Serializers.SerializerFeatures features, Kiwy.Core.Engine.Component.Work value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1010 C#
[Fonction Lightweight]
protobuf-net.dll!ProtoBuf.Internal.Serializers.SimpleCompiledSerializer.ProtoBuf.Serializers.ISerializer.Read(ref ProtoBuf.ProtoReader.State state, System.__Canon value) Ligne 107 C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.ReadAsRoot(Kiwy.View.Document value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1157   C#
protobuf-net.Core.dll!ProtoBuf.ProtoReader.State.DeserializeRoot(Kiwy.View.Document value, ProtoBuf.Serializers.ISerializer serializer) Ligne 1139  C#
protobuf-net.dll!ProtoBuf.Serializer.Deserialize(System.IO.Stream source) Ligne 22  C#
Protobuf_V3_Plugin.dll!Protobuf_V3_Plugin.SerializerHelper.Deserialize(byte[] source) Ligne 83  C#
ошибка Stacktrace

Код: Выделить всё

System.NullReferenceException: Object reference not set to an instance of an object.
at Kiwy.Core.Engine.StructCurve.SetCurve3D(WrapCurve3D curve3D) in C:\Dev_Sof\Kiwy\Trunk\Kiwy.Core.Engine\StructCurve.cs:line 81
at proto_55(State&, SubTypeState`1)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(State& state, SubTypeState`1 value)
at ProtoBuf.Serializers.SubTypeState`1.ReadSubType[TSubType](State& state, ISubTypeSerializer`1 serializer)
at proto_58(State&, SubTypeState`1)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(State& state, SubTypeState`1 value)
at ProtoBuf.ProtoReader.State.ReadBaseType[TBaseType,T](T value, ISubTypeSerializer`1 serializer)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadMessage[TSerializer,T](SerializerFeatures features, T value, TSerializer& serializer)
at ProtoBuf.ProtoReader.State.FillBuffer[TSerializer,T](SerializerFeatures features, TSerializer& serializer, T initialValue)
at ProtoBuf.Serializers.RepeatedSerializer`2.ReadRepeated(State& state, SerializerFeatures features, TCollection values, ISerializer`1 serializer)
at proto_53(State&, StructCurveMap)
at ProtoBuf.Internal.Serializers.SimpleCompiledSerializer`1.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadMessage[TSerializer,T](SerializerFeatures features, T value, TSerializer& serializer)
at proto_50(State&, WFrame)
at ProtoBuf.Internal.Serializers.SimpleCompiledSerializer`1.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadMessage[TSerializer,T](SerializerFeatures features, T value, TSerializer& serializer)
at proto_30(State&, SubTypeState`1)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(State& state, SubTypeState`1 value)
at ProtoBuf.ProtoReader.State.ReadBaseType[TBaseType,T](T value, ISubTypeSerializer`1 serializer)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadMessage[TSerializer,T](SerializerFeatures features, T value, TSerializer& serializer)
at ProtoBuf.ProtoReader.State.FillBuffer[TSerializer,T](SerializerFeatures features, TSerializer& serializer, T initialValue)
at ProtoBuf.Serializers.RepeatedSerializer`2.ReadRepeated(State&  state, SerializerFeatures features, TCollection values, ISerializer`1 serializer)
at proto_4(State&, SubTypeState`1)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(State& state, SubTypeState`1 value)
at ProtoBuf.Serializers.SubTypeState`1.ReadSubType[TSubType](State& state, ISubTypeSerializer`1 serializer)
at proto_30(State&, SubTypeState`1)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISubTypeSerializer.ReadSubType(State& state, SubTypeState`1 value)
at ProtoBuf.ProtoReader.State.ReadBaseType[TBaseType,T](T value, ISubTypeSerializer`1 serializer)
at ProtoBuf.Internal.Serializers.InheritanceCompiledSerializer`2.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadMessage[TSerializer,T](SerializerFeatures features, T value, TSerializer& serializer)
at proto_2(State&, Document)
at ProtoBuf.Internal.Serializers.SimpleCompiledSerializer`1.ProtoBuf.Serializers.ISerializer.Read(State& state, T value)
at ProtoBuf.ProtoReader.State.ReadAsRoot[T](T value, ISerializer`1 serializer)
at ProtoBuf.ProtoReader.State.DeserializeRoot[T](T value, ISerializer`1 serializer)
at ProtoBuf.Serializer.Deserialize[T](Stream source)
edit
Вот ссылка для загрузки маленького проекта, который я сделал, пожалуйста, прочитайте readme.txt перед объяснениями
protobuf_deserialization.zip

Подробнее здесь: https://stackoverflow.com/questions/796 ... ethod-call

Вернуться в «C#»