1

関数呼び出しと渡されたものをログに記録できる C++ 用のツールはありますか?

元:

Display::Resize(1024,768)
Player::Jump()
...

または、すべてのクラスのすべてのメソッドでログを呼び出すことなく、実行の流れを直線的に見るために、このようなものはありますか?

私は Visual Studio を IDE として使用していますが、これを行うことができる外部ツールまたはプラグインは素晴らしいものです。いずれかがあります?

ありがとう

4

3 に答える 3

0

よりエキゾチックな解決策は、Aspect-Oriented Programmingを見てみることです。基本的な例の 1 つは、関数呼び出しをログに記録することです。

C++ の例については、こちらを参照してください。

編集:メンバー関数からの呼び出しをトレースする AspectC++ の小さな例 (その場合は Iter::Reset)

aspect Tracer
{ 
   advice call("% %Iter::Reset(...)") : before()
   {
      cerr << "about to call Iter::Reset for " << JoinPoint::signature() << endl;
   }
};
于 2013-11-04T15:09:14.283 に答える
0

関心のある関数がデバッガーで呼び出されたときにバックトレースを自動的に出力するブレークポイントを設定するか、xtraceなどの専用ツールを使用できます。

于 2012-11-18T06:30:41.040 に答える