1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-09-23

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

#使用するツールや環境
・Windows 10
・Visual Studio Code
 ※エクステンションは2つ:Modern Fortran、C/C++
・gfortran(フリーのコンパイラ)

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

#2.VS Codeの準備
※VS Codeインストールは割愛。
・画面一番左の「拡張機能」から「Modern Fortran」を検索してインストール。
 ※自動的に「C/C++」もインストールされる。
・インストールされた「Modern Fortran」を右クリック→拡張機能の設定
・gfortranの場所を指定
 image.png
・実行→構成を開く→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ファイルが作成される。
image.png

#4.VS Codeによるデバッグ
・VS Codeでフォートランファイルを開き、行数の左にデバッグポイントを打つ
image.png
・実行→デバッグの実行。
 すると、ちゃんとデバッグポイントで止まる!
image.png

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

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

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?