2

デバッグ中にライブオブジェクトグラフを表示するVisual Studioパッケージを作成しようとしています。Visual Studioパッケージでマネージデバッガにアクセスする方法はありますか

VS 2010パッケージ内からマネージデバッガのデータにアクセスする方法はありますか?私はEnvDTE.Debugger APIを認識していますが、これは私の使用事例に十分なデータを提供していません。

私はそれがWinDbg/SOSを使用することが可能であることを知っていますが、これはうまく統合されたものを使用できるようにするために私にとってはオプションではありません。

本当にありがとうございます。

編集:

私の要件は、基本的である:デバッガがブレークモードのとき

  1. は、現在のスタックフレームのすべてのオブジェクトを取得します。
  2. 特定のオブジェクト(フィールド)によって参照されるすべてのオブジェクトを取得します。
  3. オブジェクトを一意に識別し、複数のオブジェクトが同じオブジェクトを参照する場合、参照されるオブジェクトが1つだけ検出されるようにします。
  4. 私がこれまでに見つけた何... VSデバッガがアタッチされている間、それが効果的に別のデバッガを使用して殺す

をこのすべてを行います

  • EnvDTE.Debuggerが要件2を満たしていないと3
  • シリアル化可能オブジェクトでは機能しないため、デバッガビジュアライザは動作しません。
  • プロセスに排他的にアタッチする必要があるため、WinDbgは機能しません。
+0

謝罪します。あなたが何らかの理由でデバッガを付けたかったので、私はそれを誤解しました。 Doh '。私の無関係な答えを削除しました。 –

+1

"しかし、これは私のユースケースのための十分なデータを提供していません" - あなたはそれについて詳述できますか? –

+0

このスレッドをデバッガビジュアライザについて見たことがありますか?http://stackoverflow.com/questions/2959048/debugger-visualizer-and-type-is-not-marked-as-serializable? –

答えて

0

Simon Mouriersのコメントで示唆されているように、私はmanually serialized Debugger Visualizer approachに行きます。

これは私がやりたいことを行う唯一の合理的な方法ですが、まだ完全に検証していません。

1

は私がの知らないことを...私はあなたの要件を理解していれば、正しくこれはタフな呼び出しです - あなたは何とかDebugger5CLR ProfilerEnvDTE.Debuggerを結合する必要があります:

関連する問題