2012-06-14 2 views
0

Проверка моего кода на утечки с помощью инструментов, я получаю одно сообщение, что я не могу понять решение. Именно это:утечка 'strdup' - неизвестная причина

Malloc 48 байт Ответственного библиотека - libsystem_c.dylib Ответственного кадра - strdup

Я гугл это и несколько предложений рассказать людям просто оставить его, но подчиняясь компаниями Apple с утечкой кажется как глупая вещь, поэтому я хотел посмотреть, сможет ли кто-нибудь рассказать мне больше об этом или откуда это может произойти?

+0

Я предполагаю, что ваш код не вызывает 'strdup' напрямую, не так ли? – dasblinkenlight

+0

Это не называется, нет. – Andrew

+0

Вы пробовали смотреть на весь кадр? Вы должны иметь возможность открывать ящик трассировки стека вправо и показывать ему весь стек вызовов для каждой утечки. – gaige

ответ

0

Если ваш код не использует strdup() непосредственно, то есть в основном две возможные причины утечки памяти, которые будут показаны:

  1. код от Apple имеет ошибку: он вызывает strdup(), но не освободите его возвращаемое значение после использования.
  2. Инструмент отладки (инструменты или инструмент командной строки, вызываемый им?), Который вы используете, ложно обнаруживает утечку памяти.

В обоих случаях вы можете подать отчет об ошибке в Apple.

Смежные вопросы