アプリ版:「スタンプのみでお礼する」機能のリリースについて

Visual Basic 2005で開発を行っています。

今回ログクラスを作成するに当たり、ログを出力する命令が発行された際に、
その呼び元であるクラス名、メソッド名、できればファイル名やその行数
を取得したいと思っています。

ネットで調べてみましたが、
New StackTrace().GetFrame(1).GetMethod().DeclaringType.ToString()
New StackTrace().GetFrame(1).GetMethod().Name
のようにして呼び元のクラス名、メソッド名の取得は出来たのですが、
ファイル名、行数などの取得が出来ません。

log4netを調べてみようかと思いましたが、ちゃちゃっと解析できるわけもなく・・・。

調べていたらデバッグシンボルを設定してあげると
New StackTrace().GetFrame(1).GetFileName
などが使えるようなのですが、そのデバッグシンボルの
設定の仕方が分かりません・・・。

どなたかファイル名、行数を取得する方法をご教示下さい。
また、それでデバッグシンボルというものの設定が必要であれば
その設定方法もお願い致します。

A 回答 (1件)

こんにちは。



StackTraceでファイル名や行数を取得するには、下記のように引数に True を渡します。
---------------------------------------------------------------
MessageBox.Show(New StackTrace(True).GetFrame(0).GetFileName())
MessageBox.Show(New StackTrace(True).GetFrame(0).GetFileLineNumber().ToString)
---------------------------------------------------------------
デバッグシンボルは、ビルド時に生成される .pdb ファイルにあたります。このファイルが生成されている事を確認してください。
    • good
    • 0
この回答へのお礼

ありがとうございます!
期待する結果を得ることが出来ました。

お礼日時:2008/12/02 09:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!