タグ

gccとdebugに関するundertheskyのブックマーク (2)

  • gcc のデバッグ術

    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' を付

  • Tips for the Numerical Computation Using GNU/Linux

    この上限の値を超過すると数値計算上は無限大と扱われてInfとなります. (上記の記述はSun Forte Developerのマニュアルの「数値計算ガイド」を参考にしました.) (発生場所の特定方法) InfやNaNが発生する場所を特定したい. 演算の結果が上記のInfやNaNとなる時の検出のためにSigFPE(Floating Point Exception, 日語では演算例外もしくは浮動小数点例外)というシグナルがあるのですが,数値計算を行う上では不合理なことに,デフォルトでは演算例外が起こってもSigFPEを発生せずに計算が続行されます. そのため,InfやNanの発生場所の特定のためには,演算例外でこのSigFPEが発生するようにすればよいことになります. (すると,Kernel側でシグナルを検出してプログラムが停止します.) しかし,デバッグのためにプログラムをわざわざ書き換え

  • 1