Electric Fence(efence)は、malloc()のメモリバッファでオーバーラン(またはアンダーラン)を正確に起こす命令であなたのプログラムを停止します。。続いてGDBはバグを起こすソースコード行を表示します。仮想メモリのハードウェアを使用して各バッファの境界にレッドゾーンを作成し、それにタッチし、あなたのプログラムが停止します。長年にわたってあなたを悩ませている、これらの以前は捕捉不可能だった全てのオーバーランのバグをキャッチします。
Electric Fence(efence)は、malloc()のメモリバッファでオーバーラン(またはアンダーラン)を正確に起こす命令であなたのプログラムを停止します。。続いてGDBはバグを起こすソースコード行を表示します。仮想メモリのハードウェアを使用して各バッファの境界にレッドゾーンを作成し、それにタッチし、あなたのプログラムが停止します。長年にわたってあなたを悩ませている、これらの以前は捕捉不可能だった全てのオーバーランのバグをキャッチします。
Unix系コマンドラインユーザーのための、 gcc/g++/g77 による開発におけるデバッグ術を簡単に紹介します。 以下の内容は gcc 2.7.2.3 での動作は確認しています。 g++/g77 でも恐らくは通用すると思うのですが、 ひょっとすると異なる部分があるかもしれません。 筆者は g++/g77 の使用経験がないので、その場合は御容赦を願います。 実行前 キーワード「コンパイルオプション, -Wall, -O2, -O4」 まずは gcc にオプション opt'-Wall' を付けてコンパイルし、 警告がなくなるまでソースを修正します。 これは 常識 です。 次に opt'-O4 -Wall' でコンパイルします。 「未初期化変数の使用」の警告 (`foo' might be used uninitialized in this function) は、 opt'-O4' を付
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く