0

こんにちは、コマンド fb を使用して gdb にブレークポイントを追加する例をいくつか見てきました。以下を使用してみましたが、うまくいきません...

fb -[NSTimer release]

私はそれを試しましたが、それは言います。

Function "-[NSTimer release]" not defined.

おそらくおわかりのように、リリースが NSTimer オブジェクトで呼び出されたときにデバッガーを停止する必要があります。

[NSTimer リリース] で必要なブレークポイントを作成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

おそらく、スーパークラスから上記のメソッドを継承することを選択して、NSTimer実際には を実装していません。-release

さて、1つの解決策は次のようなものを追加することです:

 @interface NSTimer(FooBar)
 @end
 @implementation NSTimer(FooBar)
 -(void) release {
      [super release];
  }
  @end

あなたのプロジェクトのどこかに。ブレークポイントを設定できます。

しかし、私は気にしません。代わりに、Allocations Instrument を使用して、特定のオブジェクトに対するすべての保持/解放イベントを確認できます。多くの場合、単なる解放よりもはるかに便利です (特に、アプリケーションで多数の NSTimer オブジェクトが行き来する可能性があることを考えると)。

于 2010-06-24T06:37:13.813 に答える