Xcode malloc с memset не вызывал увеличения памяти при выпуске
Я хочу вручную создать oom по коду ниже:
[NSTimer scheduledTimerWithTimeInterval:0.1 repeats:true block:^(NSTimer * _Nonnull timer) {
void *bytes = malloc(1024*1024*50);
memset(bytes, 1, 1024*1024*50);
}];
Но память не увеличилась, и я меняю код ниже:
void **array = malloc(UINT32_MAX*sizeof(void *));
__block int64_t i = 0;
[NSTimer scheduledTimerWithTimeInterval:0.1 repeats:true block:^(NSTimer * _Nonnull timer) {
void *bytes = malloc(1024*1024*50);
memset(bytes, 1, 1024*1024*50);
array[i] = bytes;
i++;
}];
И получить Ом
Итак, моя проблема заключается в том, почему первые malloc и memset не увеличили реальное использование памяти. Другая информация заключается в том, что первый код вызывает ошибку при отладке, но бесполезен при выпуске. Может ли кто-нибудь дать какое-то объяснение (не очевидное подозрение) по этому поводу