【Xcode】メモリリークを回避せよ【cocos2d-x】


なんのエラーもでない。でもアプリは落ちる。

先日リリースした、【脱出ゲーム】三毛猫ルームズは
シミュレータでは特に落ちなかった。
実機テストでも特に落ちることはなかった。

しかし、レビューで「とにかく落ちる」とコメントを頂きました。
コメントを頂いてからいろいろ試した結果、
どうやら他のアプリを立ち上げていたりすると
メモリの逼迫がアプリの落ちる原因でした。
※想定外の動作もメモリの逼迫を解消したところ治りました。

このメモリエラーは、エラーの箇所を特定するのが難しく
処理のどこがいけないのか全然わかりませんでした。

ネットでググったところ
Xcodeにそもそも備わっている
「Enable Guard Malloc」を使用してエラーを特定するのだとか
。。。知らんかった

■やり方
1.Xcodeで対象のプロジェクトを開いたら”Edit Scheme”を開く
※Xcodeのメニューから”Product” → “Scheme” → “Edit Scheme..”を選択
menu1

2.左側で”Test”を選択し、”Enable Guard Malloc”にチェックを入れ,
“Close”ボタンを押下
mike3

これだけ

あとは、シミュレータで動作確認をすれば
メモリリークを引き起こしそうな部分でエラーを出力してくれます。
実機テストでは機能しないようです。