QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

C#での実行ファイル名、行番号の取得方法

いつもお世話になっております。

C#で、実行したファイル名、行番号(できれば関数名なども...)を、
ログに出力させたいのですが、取得方法がわかりません。
※VC++でいうところの、FILELINEにあたるものです。

ご存知の方、いらっしゃいましたら教えて下さい。

以上、よろしくお願いいたします。

質問者:Makoto

回答

StackTraceですね。(2)の方が出力が綺麗です。



(1)
Debug.WriteLine(Environment.StackTrace);

(2)
try {
    throw new Exception();
} catch (Exception e) {
    Debug.WriteLine(e.StackTrace);
}

投稿者:todo

編集 履歴 (0)

ありがとうございます。
ただ、この方法ではDebugビルドの場合のみ有効のようです。
Releaseビルドでも有効な方法はないでしょうか?

アプリケーションログに、実行ソースファイル&行番号(できれば関数名称も)
を出力したいのですが、こういう方法ってもしかして無いんでしょうか?

投稿者:Makoto

編集 履歴 (0)

C#で、実行したファイル名、行番号(できれば関数名なども...)を、

ログに出力させたいのですが、取得方法がわかりません。
ファイル名、行番号は分かりませんが、メソッド名でしたら
System.Reflection.MethodBase.GetCurrentMethod.Name
で取得できると思います。

投稿者:一休

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。