Skip to main content

IAR Embedded Workbench for Arm 9.70.x

C-RUNランタイムエラー解析を使用するにあたって

このセクションの内容:

一般的に C-RUN を使用するには、以下の手順に従います。

  • 必要なC-RUNのチェックを決定し、C-RUNオプションでそれらを指定します。

  • IAR Embedded Workbench IDEでアプリケーションを実行して、個々のC-RUNメッセージを対話形式でチェックしてください。各メッセージについて、重要な問題かどうかを判断します。そうでない場合は、今後その特定のメッセージや同じようなメッセージを無視するルールを適用することができます。メッセージが重要な問題である場合は、特定の状況に応じて、問題を修正して再度実行したり、他に問題があるかどうかをチェックすることができます。

  • 終わったらC-SPYを閉じます。C-RUNのウィンドウは開いたままですので、ここで、見つかった問題に関して確認します。ルールの設定を確認して編集し、後で実行するときのために保存します。

  • すべての問題が解決するまで、このプロセスを繰り返します。

より詳しくランタイムエラー解析を実行してランタイムエラーを検出するには、一般的なプロセスの次の例に従います。

  1. ランタイムチェックのプロジェクトオプションを設定するには、[プロジェクト]>[オプション]>[ランタイム解析]を選択して、たとえば[境界チェック]など、実行するランタイムチェックを選びます。

    ランタイムチェックはプロジェクトのレベルで有効化してから、使用する各タイプのチェックを有効にする必要があります。[チェック済みヒープの使用][境界チェックを有効化]などチェックオプションによっては、プロジェクトレベルで有効化する必要があります。その他はプロジェクトやファイルのレベルで有効化できます。

  2. アプリケーションをビルドします。低い最適化レベルの方が、より適切な情報が得られる点に注意してください。

  3. デバッグセッションを開始します。

  4. アプリケーションプログラムの実行を開始します。

  5. C-RUNで潜在的なエラーが検出されると、プログラムが実行を停止し、エディタウィンドウで対応するソースコードが強調表示されます。

    C-RUN_source_highlight_Hom7.1_M16_1.PNG

    まだ開かれていない場合には、[C-RUN メッセージ]ウィンドウが開かれ、ソースコード構造、検査の種類、ソース位置のコールスタック情報を提供します。

    C-RUNMessagesCallOuts_Hom7.1_M16_1.png

    問題の検出が実際のアクセス時点で発生するとは限りません。チェックがループ外に移動されたり、異なるアクセスに対する複数のチェックが統合されている可能性もあります。この場合は問題のソース(問題となるアクセスのソース)が現在の文にはない場合や、問題が複数ある可能性があります。

  6. ソースコードの構成によっては、潜在的なエラーが検出された後にもプログラムの実行を継続できることがあります。一部の種類のエラーによって、たとえばデータやコードのオーバライドが原因で、実行時に予期しない動作が発生することがあります。

  7. 必要があれば、[C-RUNメッセージルール]ウィンドウを使用して、特定のチェックやソースコードの位置、特定のチェックとソースファイル、または特定のチェックのみに基づいて、特定のメッセージを除外するルールを指定することができます。また、特定のチェックで実行を停止せず、記録のみを停止するように指定することも可能です。メッセージのルール作成を参照してください。

実行するさまざまなランタイムチェックについて、この手順を繰り返します。