2

コンパイラとして Clang を使用して Xcode を使用しています。現在、アドレスが0xCDCDCDCD. また、いくつかの変数が0xABABABABaround に設定されていることも確認しました。私は周りを見回して、これらの値が Visual Studio でマジック ナンバーとして使用されていることに気付きました。ただし、Xcode (または Clang、コンパイラまたは IDE のメカニズムかどうかは不明) で使用されるマジック ナンバーのリストが見つかりません。どこで見つけられるか知っている人はいますか?

4

2 に答える 2

2

私はあなたが探しているもののように見える包括的なリストを知りませんが、0xCDCDCDCD通常、デバッグビルドでメモリのブロックを割り当てるときにCランタイムによって使用されます。

于 2012-12-19T15:08:22.223 に答える
1

ウィキペディアの「マジック デバッグ値」リストを除いて、デバッグで使用されるさまざまなマジック ナンバーをリストしたリストを私は知りません。


Mike が上で述べたように、潜在的なポインター関連のエラーを見つけやすくするために、デバッグ ビルドでポインターが無効なメモリ アドレスに初期化されている可能性があります。

これはコンパイラまたはランタイムの機能ですが、ポインタのデバッグを簡単にするための機能であるため、初期化される正確な値は重要ではありません。これEXC_BAD_ADDRESSは、割り当てられていないメモリに対してアクションを実行しようとした結果であり、実際には予期された動作です。

数値は、コンパイルされたプログラムを実行するときに初期化されていないポインターを見つけるために使用できるという理由で、おそらく Visual Studio でマジック ナンバーとして使用されています。

于 2012-12-19T15:50:19.797 に答える