VS CodeでFortranをデバッグ設定までやってみる。【Win10】


初めに

FortranをWindowsでビルド・デバッグする場合は、どういうツールを組み合わせればいいのか調べた。
デバッグでブレークポイントに止まらない問題でやや詰まったが解決。
必要最小限の構成で考えている。

使用するツールや環境

・Windows 10
・Visual Studio Code
 ※エクステンションは2つ:Modern Fortran、C/C++
・gfortran(フリーのコンパイラ)

1.Fortranコンパイラの準備

TDM-GCCから、「tdm64-gcc-***.exe」をダウンロード
 ※gccだけど、gfortranも入っている。
・インストールする。fortranのチェックを忘れずに。
 
・インストールされたか確認。以下2つのファイルが重要。
 

2.VS Codeの準備

※VS Codeインストールは割愛。
・画面一番左の「拡張機能」から「Modern Fortran」を検索してインストール。
 ※自動的に「C/C++」もインストールされる。
・インストールされた「Modern Fortran」を右クリック→拡張機能の設定
・gfortranの場所を指定
 
・実行→構成を開く→C++(GDB/LLDB)
 ※Fortranだけど、C++を選ぶ。というか、そもそもFortranがない。
 下のように、"program"と"miDebuggerPath"を自分の環境に合わせて設定。他はそのままでいいかな。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 起動",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "gdb の再フォーマットを有効にする",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

3.Fortranのビルド

・ビルド作業はVS Code上ではなく、コマンドプロンプトで実行。
・今回はデバッグをするためには、必ずオプション 「-g」を付ける。

C:\Temp>gfortran -g fortran_program.f90

・exeファイルが作成される。

4.VS Codeによるデバッグ

・VS Codeでフォートランファイルを開き、行数の左にデバッグポイントを打つ

・実行→デバッグの実行。
 すると、ちゃんとデバッグポイントで止まる!

終わり

ビルド時にオプション必要というのがやや詰まりましたが、できて良かった。
学生時代はprint文によるデバッグしかできなかったから、Fortranでもデバッグできるんだなぁと感慨深いです。
宜しければお使いください。

「gfortran -g」がVS Codeから実行できるかどうかは、わからないです。どうやるんだろ、多分簡単だろうけどここまでにしておきます。