Добавление точки останова в gdb с помощью fb - [выпуск NSTimer] не работает. Как я могу добавить точку останова на [выпуск NSTimer]? - PullRequest
0 голосов
/ 24 июня 2010

Привет! Я видел несколько примеров добавления точек останова в gdb с помощью команды fb. Я пытался использовать следующее, но это не работает ...

fb -[NSTimer release]

Я попробовал, но там написано.

Function "-[NSTimer release]" not defined.

Как вы, вероятно, можете сказать, я хочу, чтобы отладчик останавливался при вызове release для любого объекта NSTimer.

Как мне создать нужную точку останова в [выпуске NSTimer]?

Спасибо!

1 Ответ

1 голос
/ 24 июня 2010

Скорее, чем нет, NSTimer на самом деле не реализует -release, решив унаследовать указанный метод от суперкласса.

Теперь одним из решений было бы добавить что-то вроде этого:

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

К вашему проекту где-то. Вы можете установить точку останова.

Однако я бы не стал беспокоиться. Вместо этого вы можете использовать инструмент Allocations для просмотра каждого события сохранения / освобождения определенного объекта, что зачастую гораздо полезнее, чем просто выпуски (особенно если учесть, что в приложении могут быть десятки объектов NSTimer).

...