Я использую statfs, чтобы получить общее пространство, доступное на моем жестком диске. Он возвращает правильные значения большую часть времени, но иногда он просто возвращает ошибку без видимых причин. Я хочу узнать, почему он генерирует ошибку в кажущиеся случайными временами.Отладка statfs?
Есть ли способ проверить, почему он вызывает ошибку? Если я печатаю strerror(errno)
, я просто получаю сообщение «Нет такого файла или каталога». Это говорит мне, в чем проблема, но не то, что вызывает ее. Я не вижу причин, по которым он может успешно найти каталог в определенный момент, но затем не сможет найти его в следующий момент. Есть ли способ проверить, что это вызывает? Я сомневаюсь, что это проблема с моим кодом, потому что если бы это было так, если бы не вернули правильные данные.
Я перехожу в '/' в качестве справочника. Я на OS X Snowleopard с помощью Xcode 3.2.6 с помощью Objective-C/C
- Как я мог найти проблему, которая вызывает его не найти путь?
- Каковы некоторые общие причины, которые могут привести к тому, что он сможет найти диск в один момент, а не следующий?
код используется для получения информации:
if (statfs(&path, &storageStats))
{
NSLog(@"Total storage stats retrieval failed with errno: %s.\n", strerror(errno));
exit(EXIT_FAILURE);
}
else
{
totalAmount = storageStats.f_blocks * storageStats.f_bsize;
NSLog(@"Storage: %f\n", totalAmount);
return self;
}
Я получаю «Всего статистику хранения retrieveal не удалось ...» и сообщение ERRNO не «Нет такого файла или каталога»
Как вы определяете, что 'statfs'" возвращает ошибку "? Покажите нам фрагмент кода. –
@R .. Я добавил код в свой вопрос. – fdh