デバッグする


コードビルダでデバッグする

コードビルダ には、Origin CやLabTalkのコードをデバッグする機能があります。 ブレークポイントをセットしたり、解除でき、関数にステップイン、ステップアウトしてコードを1度に1行ずつ実行したり、変数内の値を監視することができます。 デバッグはデフォルトで有効になっています。 デバッグメニューのブレークポイントを有効にするを使ってデバッグをオンまたはオフにすることができます。 メニュー項目の隣にチェックボックスがある場合、デバッグ機能はオンです。

Origin Cコードをデバッグするとき、変数名上にマウスカーソルを合わせると変数の現在の値をツールチップで確認できます。

変数が複雑な構造を持つ場合、ツールチップはツリー状の構造を表示できます。ツリー表示を無効にするには、次のOIDEOptions.iniを追加します。

[Environment]
bTreeLikeDataTip=0
                

デバッグのマクロ

Origin Cは、多くの用途を持つ複数パラメータを定義することができます。多くのプログラマは、プログラムの流れを指示するコードを開発し、変数の値を表示するコードを開発する際に、出力ステートメントを使います。

出力マクロを作成する

便利なデバッグのテクニックは、出力マクロを定義し、そのマクロを下図のように配置することです。

#define    DBG_OUT(_text, _value)     out_int(_text, _value);
 
void DebugStatements()
{
     int ii;
     DBG_OUT("ii at t0 = ", ii)
     ii++;
     DBG_OUT("ii at t1 = ", ii)
     ii++;
     DBG_OUT("ii at t2 = ", ii)
     ii++;
     DBG_OUT("ii at t3 = ", ii)
     printf("Finished running DebugMacros.");
}

デバッグマクロの本体をコメントアウトする

開発期間中に、マクロの本体を上記で定義したようにしたままにすると、デバッグメッセージがメッセージボックスに表示されます。 しかし、開発が完了したら(または安定的な動作になったら)、マクロを下記のように再定義し、デバッグステートメントを非表示にすることができます。

#define    DBG_OUT(_text, _value)   //  out_int(_text, _value);

DBG_OUT マクロの本体をコメントアウトし、リビルドすると、その使用の可能なインスタンスを除去せずに、将来再利用するためにそれらを保存して、デバッグステートメントを非表示にすることができます。 コードは再び修正したり、デバッグする必要はなく、マクロの本体を単に非コメントにするだけです。