• 締切済み

C#の実行関数トレース

C#プログラムのプロジェクトに途中から参画しています。 まだプログラムの全容を理解していないため、どのメニューを実行したときにどの関数が呼ばれるのか、を追うだけでいちいち時間がかかってしまい、困っています。 あるメニューを実行したときにコールされる関数名をすべて出力できるような方法やツールはありますか?

みんなの回答

回答No.1

Reflection関係をあさってみましたが、イベントで呼び出されるメソッドを調べるようなものは見当たりませんでした。イベントハンドラの管理はコントロール内部に任されるので、Reflectionの管轄外になるのかな・・・? どのようにイベントメソッドを追っているのかわかりませんが、InitializeComponentでイベントハンドラが定義されているのであれば、*.Designer.csファイルからたどれば楽になるかも・・・?

tatsfan
質問者

お礼

わざわざ調べていただいてスミマセンm(__)m イベントハンドラはわかるのですが、あちこちでいろんな共通初期化関数を使っていて、更に階層が深くて、イベントデリゲートを使っていて…となると、ステップ実行しながら時間をロスしてしまう状態で。。 今、nprofというツールを試してみたところです。 コールツリーは表示されるようです。 性能的に実用に耐えうるかまだ分かりませんが、明日会社で試してみようと思います。 他にも情報ありましたら&情報お持ちの方いらっしゃいましたら、引き続きお願いいたします。 また、Windows開発では、イベントが発生して、思わぬ処理を通っていたり、処理がなぜか2回実行されたり、イベント周りで苦労しませんか? そようなトロい事態を避ける為の開発上のコツ等分かる方いらっしゃいましたら、アドバイスお願いいたします。m(__)m

関連するQ&A