xcode address sanitizerでヒープ破壊箇所を検出してみます。
- (void)viewDidLoad { [super viewDidLoad]; uint8_t* a = malloc(16); memset(a, 0, 17); }
普通に実行してみると、
どこで破壊されているのか分かりませんね。
これをソースの行レベルで検出するには、address sanitizer を使います。
以下の画面の、「Address Sanitizer」と「Detect use of stack after return」にチェックをつけておきます。
破壊箇所がソースの行が出てきました。