1

BinaryFormatterを使用して、他のさまざまなオブジェクトを含むオブジェクトをシリアル化します。シリアル化により、これらのオブジェクトの1つで無限ループが発生し、何時間もそれらを調べた後、このループの原因を見つけることができません。VisualStudioでシリアル化プロセスを段階的にデバッグする可能性はありますか、それともこれを行うための別のツールがありますか?

4

2 に答える 2

1

試行できることの 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 に答える