大きなデータグラフを持つ.NETプログラムのクラッシュダンプがあるとします。静的変数MyGraph.Root
を介してグラフのルートにアクセスできます。いくつかのデータプロパティに基づいて、ルートから多くのレベル下の項目をウォッチウィンドウで調べる必要があります。 item.Name == "Foobar"
。.NETプログラムのクラッシュダンプのデバッグ:大きなデータグラフでアイテムを見つける方法は?
どのようにVisual Studioで行いますか?または風袋で?
アイテムに固有のタイプがある場合は、!dumpheap -type
を使用してそのタイプを検索できます。 Visual Studio、AFAIKには、それに似たものはありません。しかし、すべてのアイテムが同じタイプの場合はどうなりますか?
Visual Studioデバッガ用のカスタムデータビューアを作成できますが、グラフ内のオブジェクトを見つけることができますが、見つかったオブジェクトを通常のウォッチウィンドウに戻してそのプロパティを調べるにはどうすればよいですか?私はそれを可能にするAPIは見つかりませんでした。
私の実際の生活状況では、グラフはWPFウィンドウの視覚的なツリーで、子は親のプロパティとして直接アクセスできませんでした。ウィンドウのn番目の子を検索するには、System.Windows.Media.VisualTreeHelper.GetChild(window, n)
を使用する必要があります。
アイデアをいただければ幸いです。
ありがとうございました!それでも項目選択のためのカスタムコードは許可されていませんが、近づいています。 NetExt where句の構文についての参考資料はありますか?同様に、どのように私は配列の項目にアクセスして何をするのですか?私はgithubのreadmeのいくつかの例だけを見ていましたが、利用可能なものの完全なリストはありませんでした。 –
@IvanKrivyakov:私はGithubのものよりも完全な文書に気づいていません。そこに問題を提起したいかもしれません。 –