на iOS / iPhone: «Слишком много открытых файлов»: необходимо перечислить открытые файлы (например, lsof)

Мы обнаружили, что в нашем сложном приложении для iPhone (ObjC, C ++, JavaScript / WebKit) происходит утечка файловых дескрипторов при необычных обстоятельствах.

Мне нужно знать, какие файлы (по пути к файлу) мы оставляем открытыми.

Мне нужно что-то вроде команды BSD «lsof», которая, конечно, недоступна в iOS 4, по крайней мере, для мне. В идеале это функция C или ObjC. Или инструмент, такой как акула или инструменты. Просто нужны файлы для нашего запущенного приложения, а не (как в случае с lsof) для всех приложений / процессов.

Мы делаем все, что угодно с файлами, и код, который дает сбой «Слишком много открытых файлов», не изменился. в возрасте, а поскольку обстоятельства необычны, это могло закрасться несколько месяцев назад. Так что нет необходимости напоминать мне посмотреть код, который открывает файлы, и убедиться, что я их закрываю. Я это уже знаю. Было бы неплохо сузить круг вопросов до чего-то особенного. Спасибо.

17
задан Tim James 3 November 2010 в 01:45
поделиться