2011-12-20 32 views
2

いくつかの(この時点では未知の)ステップを含む特定のプロセスを調査する必要があります。 一般的なサブプロセス(さまざまなアセンブリに存在)が時間範囲(おそらくメモリ使用量)を考慮してどのようなものであるかを分析するには、効率的なアプローチが必要です。アセンブリ間のコードフローの分析

ブレークポイントをインテリジェントに設定してコードを実行するだけでは、コードを配置するのに「インテリジェント」な場所を探すのに時間がかかり過ぎるということです。後で、何百ものメソッド呼び出しとヘルパークラスから一般的な論理的ステップの一般的なシーケンスを作り直さなければなりません。

生成シーケンスダイアグラムはおそらく助けになりますが、再び地球から火星まで広がります。

あなたは、そのプロセスのロジックをある程度合理的な抽象度で理解するのに役立つツールを認識しているかもしれません。

(私はビルトインVSのためのプロファイラを試みた - 。それは良いことだが、結果を分析するために多くの時間を要し、かつ実際にhotpointsを示し、再び実際のロジックを「復元」しません)

答えて

3

NDependがあなたの助けになるかもしれない特定するプロファイラデータの結果ではIntelliTraceを結合することができるかもしれません。

実行コードからシーケンスダイアグラムを生成したいとおっしゃったので、SparxシステムのEnterprise architectがこれを実行できます。 manualをチェックしてください。

Thisリンクはお役に立ちます。

あなたはお金を持っていればRedGate Develper Bundle for .NETを使うことができます。パフォーマンスプロファイラ、メモリプロファイラなどがあります。評価版もあります。

また、プロファイラ用に安価なalternativesもあります。

+0

非常に興味深いツールの一覧です。どうもありがとう。 – Nickolodeon

+0

@Nickolodeon - いつでもうれしいです;) – TheBoyan

0

より高度がありますプロファイラーアプリケーションはVisual Studio Profilerよりもはるかに優れていますが、ロジックが別々のAppDomainsを使用している場合やグループ化が容易でない場合は、これらの問題を調査するのにかなりの時間がかかります。

Visual Studio Ultimateには、コードから依存関係行列とシーケンス図を生成する機能があります。 VisualNDependでもそうすることができます。しかし、これらはコードの静的な振る舞いについての洞察を提供しますが、実行時の振る舞いを把握するのには役立ちません。

(Visual Studio PremiumおよびUltimateの)コード分析には、新しいDataFlow Analysis Engineに基づく一連のルールがあります。これらのカスタムルールを記述することは可能ですが、最も簡単なことは言えません。

あなたは、コード分析を行っているので、

+0

...結果とは何ですか? –

関連する問題