0
我創建了一個可變的字符串對象。現在我已經多次釋放該對象,即使我只分配了一次。根據基本的內存管理規則,這是錯誤的。但是,它會崩潰,但這從來沒有發生過。我期待着一些EXC_BAD_ACCESS錯誤。爲什麼EXC_BAD_ACCESS不會發生?
我收到的錯誤:
malloc: *** error for object 0x6d5ac60: double free
*** set a breakpoint in malloc_error_break to debug
爲什麼應用程序不崩潰?
NSMutableString *firstOwner = [[NSMutableString alloc] init];
[firstOwner release];
[firstOwner release];
[firstOwner release];
NSMutableString *temporaryObject = firstOwner;
[temporaryObject release];
[temporaryObject release];
你已經告訴內存管理系統你不再需要這塊內存了。之後,它可能會或可能不會將其用於其他目的。沒有規則可以保證它會被設置爲導致崩潰的某個值。 –