アプリケーションで、標準的な「解放されたオブジェクトのチェックサムが正しくありません - オブジェクトは解放後に変更された可能性があります」というメモリの問題をデバッグしようとしています。私は原因を見つけるためのツール (guard malloc など) にかなり精通しており、XCode UI で過去に成功しました。
ただし、私が抱えている問題は、このメモリの問題が xcodebuild コマンド ライン ツールによって作成されたビルドでのみ発生するため、XCode UI チェックボックスを使用できないことです。チェックボックスを設定してみました (Diagnostics->Memory Management の下のスキームで)、Xcode UI を介してプログラムを実行すると、その効果 (非常に遅いパフォーマンス) が表示されますが、残念ながらここでは問題は発生しません。次に、戻って xcodebuild-built バイナリからプログラムを実行すると問題が発生しますが、パフォーマンスは正常に戻り、このビルド中に UI フラグが使用されませんでした。
プログラムを実行する前に、いくつかの環境変数を設定しようとしました。
MallocGuardEdges=YES
NSZombieEnabled=YES
MallocScribble=YES
しかし、コマンド ラインから実行しても、xcodebuild でビルドされたバイナリにはまだ影響がありません。
Apple のドキュメントでは、プログラムを GuardMalloc ライブラリ サポートを使用してビルドする必要があることを暗示しているようですが、XCode UI でチェックボックスを設定した後に xcodebuild を使用してプログラムをビルドすると、サイズに違いはなかったので、別の場所で設定を変更する必要があるかもしれません。そのサポートを私のバイナリに追加するには?
更新: 環境変数を設定するコマンドを修正しました。