みなさん、こんにちは!

今回は、ifx でコンパイルしたプログラムの実行時問題を検出するための機能についてご紹介します。

 

ifx におけるプログラム実行中の問題を検査する機能

Fortran プログラムの実行中に異常終了する、想定とは異なる計算結果になる、あるいは実行するたびに結果が変わるといった問題の原因を特定するために、インテル Fortran コンパイラーには実行時に診断情報を出力するオプションが用意されています。

これらの機能を利用するには、ifx のコンパイル時に check オプションを指定します。このオプションは、一部の機能実装に違いはあるものの、従来の ifort でも利用可能でした。

問題発生箇所を特定しやすくするために、デバッグ情報を生成する -g (Linux) または /Zi (Windows) と、エラー発生時に呼び出し履歴を表示する traceback オプションを併せて指定することをお勧めします。

Visual Studio を利用している場合も、これらのオプションはプロジェクトのプロパティから有効化できます。

check オプションは、プログラム実行時にソースコード内で扱われる配列や変数の状態を検査し、配列範囲外アクセスやオーバーフロー、アンダーフロー、未初期化変数の使用などの問題を検出します。

検査対象ごとにキーワードを指定できます。

例えば、配列の範囲外アクセスを検出する場合は -check bounds (Linux) または /check:bounds (Windows) を指定します。

また、スタックオーバーフローを検出する場合は -check stack (Linux) または /check:stack (Windows) を指定します。

check オプションが提供するすべての検査機能を有効にするには -check all (Linux) または /check:all (Windows) を指定します。

■ オプション例

Linux: ifx -g -O0 -check all -traceback source.f90
Windows: ifx /Zi /Od /check:all /traceback source.f90

check オプションで指定できるキーワードの詳細については、以下の Intel 社のドキュメントをご参照ください。

» デベロッパー・ガイドおよびリファレンス (英語) はこちら

なお、本記事で紹介したオプションはデバッグ用途を想定したものです。完成したプログラムを配布または公開する際は、check オプション、traceback オプション、およびデバッグ情報生成オプションを無効にして再コンパイルすることをお勧めします。

インテル Fortran コンパイラー 2026.1 リリースノート、システム要件 (日本語参考訳)

エクセルソフトでは、2026年7月にリリースされた、インテル Fortran コンパイラー 2026.1 のリリースノートおよびシステム要件の日本語参考訳を公開しています。新機能や変更点をご確認の上、最新バージョンをぜひご活用ください。



記載されている会社名、製品名は各社の商標または登録商標です。
このメールは送信専用のメール アドレスから配信されています。メールに直接ご返信いただいてもご回答いたしかねますのでご了承ください。

このメールはエクセルソフト(株) の取り扱い製品のご購入/ご登録/体験版ダウンロード ユーザー、イベント等で名刺交換をさせていただいた方、アンケートご回答者の皆様にお送りしています。お心当たりがない場合は、お手数ですが文末のお問い合わせ窓口までご連絡ください。
ご登録アドレス: <%MAIL%>

個人情報の取り扱いについては、プライバシーおよび個人情報の保護に関する方針をご参照ください。
配信停止をご希望の場合は、こちらの Web ページで配信停止の手続きをお願いいたします。

ご不明点等は下記までご連絡ください。

エクセルソフト株式会社 | お問い合わせ窓口
〒108-0073 東京都港区三田3丁目9番9号 森伝ビル6階
Tel: 03-5440-7875

Facebook X (Twitter) Instagram LinkedIn Blog

© 1998-2026 XLsoft Corporation. All Rights Reserved.