gdb で誤って初期化されていないデータをデバッグしようとすると、煩わしい場合があることがわかりました。コマンドラインから直接実行するとプログラムはクラッシュしますが、gdb で検査中はクラッシュしません。gdb のヒープは多くの場合クリーン (すべてゼロ) のようですが、コマンド ラインからは明らかにそうではありません。
これには理由がありますか?もしそうなら、意図的に gdb や gcc にヒープをダーティにするように指示できますか? malloc()
IE、およびに常にランダムなデータを与える「デバッグ」アロケーターを指定する方法はありますnew
か? これには特別な libc が関係していると思いますか? 明らかに、リンカー オプションを変更せずにこれを行う方法があれば、リリース バージョンがデバッグ バージョンとできるだけ同じになるようにするとよいでしょう。
私は現在 MinGW-w64 (gcc 4.7 ベース) を使用していますが、一般的な回答に興味があります。