デバッグ時の追跡用モジュール More...
Data Types | |
| interface | datadump |
| interface | debug |
Functions/Subroutines | |
| integer function, public | sublevel () |
| subroutine, public | dbg_scratch (on) |
| subroutine, public | setdebug (debug) |
| subroutine, public | beginsub (name, fmt, i, r, d, l, n, c1, c2, c3, ca, version) |
| subroutine, public | endsub (name, fmt, i, r, d, l, n, c1, c2, c3, ca) |
| subroutine, public | dbgmessage (fmt, i, r, d, l, n, c1, c2, c3, ca) |
Variables | |
| integer, save, public | dbg = -1 |
デバッグ時の追跡用モジュール
| subroutine, public dc_trace::beginsub | ( | character(*), intent(in) | name, |
| character(*), intent(in), optional | fmt, | ||
| integer, dimension(:), intent(in), optional | i, | ||
| real, dimension(:), intent(in), optional | r, | ||
| real(dp), dimension(:), intent(in), optional | d, | ||
| logical, dimension(:), intent(in), optional | l, | ||
| integer, dimension(:), intent(in), optional | n, | ||
| character(*), intent(in), optional | c1, | ||
| character(*), intent(in), optional | c2, | ||
| character(*), intent(in), optional | c3, | ||
| character(*), dimension(:), intent(in), optional | ca, | ||
| character(*), intent(in), optional | version | ||
| ) |
副プログラム開始のメッセージ出力
文字型変数 name に与えた副プログラム名を以下のように出力します。
# call name
複数回呼ぶ事で階層構造が分かるメッセージが出力されます (dc_trace の Overview 参照)。 必ず BeginSub と同様な数だけ EndSub を呼ぶようにしてください。
fmt およびそれ以降の引数を与える事で、付加メッセージも出力可能です:
# call name : fmt
書式は dc_string::CPrintf を参照して下さい。
version には副プログラムのバージョンナンバーを与えます。 version に与えられた文字列は、初回に呼び出された時のみ表示されます。
| [in] | name | 副プログラム名 |
| [in] | fmt | 付加メッセージ用フォーマット文字列 (省略可) |
| [in] | i | フォーマット用整数配列 |
| [in] | r | フォーマット用実数配列 |
| [in] | d | フォーマット用倍精度実数配列 |
| [in] | L | フォーマット用論理配列 |
| [in] | n | フォーマット用整数配列 |
| [in] | c1 | フォーマット用文字列1 |
| [in] | c2 | フォーマット用文字列2 |
| [in] | c3 | フォーマット用文字列3 |
| [in] | ca | フォーマット用文字列配列 |
| [in] | version | 副プログラムのバージョンナンバー (省略可) |
Definition at line 455 of file dc_trace.f90.
References dbg, dc_types::dp, and dc_types::string.
| subroutine, public dc_trace::dbg_scratch | ( | logical, intent(in) | on | ) |
デバッグメッセージの抹消
動作未確認ですので利用の際にはご注意下さい。
論理型変数 on に .true. を与える事で、 以降のデバッグメッセージを抹消する事が出来ます。
なお、論理型変数 on に .false. を与える事で、 直前に呼んだ Dbg_Scratch 以降のメッセージを デバッグメッセージとして再び出力し、 以降のデバッグメッセージも出力されるようにします。
| [in] | on | .true. の場合、以降のデバッグメッセージを抹消する。 .false. の場合、抹消されたメッセージを出力し、通常出力を再開する。 |
Definition at line 233 of file dc_trace.f90.
References dbg.
| subroutine, public dc_trace::dbgmessage | ( | character(*), intent(in) | fmt, |
| integer, dimension(:), intent(in), optional | i, | ||
| real, dimension(:), intent(in), optional | r, | ||
| real(dp), dimension(:), intent(in), optional | d, | ||
| logical, dimension(:), intent(in), optional | l, | ||
| integer, dimension(:), intent(in), optional | n, | ||
| character(*), intent(in), optional | c1, | ||
| character(*), intent(in), optional | c2, | ||
| character(*), intent(in), optional | c3, | ||
| character(*), dimension(:), intent(in), optional | ca | ||
| ) |
デバッグ用メッセージ出力
フォーマット文字列 fmt に従ってデバッグメッセージを出力します。 書式は dc_string::CPrintf を参照して下さい。
利用例に関しては dc_trace の Example を参照して下さい。
| [in] | fmt | フォーマット文字列 |
| [in] | i | フォーマット用整数配列 |
| [in] | r | フォーマット用実数配列 |
| [in] | d | フォーマット用倍精度実数配列 |
| [in] | L | フォーマット用論理配列 |
| [in] | n | フォーマット用整数配列 |
| [in] | c1 | フォーマット用文字列1 |
| [in] | c2 | フォーマット用文字列2 |
| [in] | c3 | フォーマット用文字列3 |
| [in] | ca | フォーマット用文字列配列 |
Definition at line 660 of file dc_trace.f90.
References dbg, dc_types::dp, and dc_types::string.
| subroutine, public dc_trace::endsub | ( | character(*), intent(in) | name, |
| character(*), intent(in), optional | fmt, | ||
| integer, dimension(:), intent(in), optional | i, | ||
| real, dimension(:), intent(in), optional | r, | ||
| real(dp), dimension(:), intent(in), optional | d, | ||
| logical, dimension(:), intent(in), optional | l, | ||
| integer, dimension(:), intent(in), optional | n, | ||
| character(*), intent(in), optional | c1, | ||
| character(*), intent(in), optional | c2, | ||
| character(*), intent(in), optional | c3, | ||
| character(*), dimension(:), intent(in), optional | ca | ||
| ) |
副プログラム終了のメッセージ出力
文字型変数 name に与えた副プログラム名を以下のように出力します。
# end name
BeginSub に対して一対一対応していますので、name には対応する BeginSub の引数 name と同じものを与えて下さい。
fmt およびそれ以降の引数を与える事で、付加メッセージも出力可能です:
# end name fmt
書式は dc_string::CPrintf を参照して下さい。
| [in] | name | 副プログラム名 |
| [in] | fmt | 付加メッセージ用フォーマット文字列 (省略可) |
| [in] | i | フォーマット用整数配列 |
| [in] | r | フォーマット用実数配列 |
| [in] | d | フォーマット用倍精度実数配列 |
| [in] | L | フォーマット用論理配列 |
| [in] | n | フォーマット用整数配列 |
| [in] | c1 | フォーマット用文字列1 |
| [in] | c2 | フォーマット用文字列2 |
| [in] | c3 | フォーマット用文字列3 |
| [in] | ca | フォーマット用文字列配列 |
Definition at line 579 of file dc_trace.f90.
References dbg, and dc_types::dp.
| subroutine, public dc_trace::setdebug | ( | integer, intent(in), optional | debug | ) |
デバッグモードをオンオフ
デバッグメッセージを出力したい時にこのサブルーチンを呼びます。
整数型変数 debug が与えられる場合は、その装置番号 debug に、 以降のサブルーチンによるデバッグメッセージを出力するようにします。 debug が与えられない場合、装置番号 0 (標準エラー出力) にデバッグメッセージが出力されるようになります。 装置番号 0 への出力が成功しない場合は代わりに 装置番号 6 (標準出力) にデバッグメッセージが出力されるようになります。
debug に負の整数を与える場合、デバッグモードが解除され、 以降デバッグメッセージは出力されません。
なお、この SetDebug を呼んだ際にも、装置番号 debug に以下のメッセージが表示されます。
#SetDebug: dbg = debug
| [in] | debug | デバッグメッセージ出力用の装置番号 (省略可)。 省略時は標準エラー出力を使用。負の値を与えるとデバッグモード解除。 |
Definition at line 335 of file dc_trace.f90.
References dbg, dc_types::stderr, and dc_types::stdout.
| integer function, public dc_trace::sublevel |
副プログラムの階層レベルを返す
副プログラムの階層レベルを返します。レベルのデフォルトは 0 で、 BeginSub によりレベルは 1 増え、EndSub によりレベルは 1 減ります。
Definition at line 198 of file dc_trace.f90.
| integer, save, public dc_trace::dbg = -1 |
Definition at line 156 of file dc_trace.f90.