製品のエラー処理の一部として、スタック トレース情報をダンプしたいと考えています。ただし、多くのユーザーは、プログラムから入手できる完全なレポートのコピーを送信する代わりに、エラー メッセージ ダイアログのスクリーンショットを撮るだけで済みます。そのため、このダイアログで最小限のスタック トレース情報を入手できるようにしたいと考えています。
私のマシンの .NET スタック トレースは次のようになります。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(String path)
at LVKWinFormsSandbox.MainForm.button1_Click(Object sender, EventArgs e) in C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
この質問があります:
形式は次のようになります。
at <class/method> [in file:line ##]
ただし、atキーワードとinキーワードは、たとえば、インストールした英語の .NET ランタイムではなく、ノルウェー語の .NET ランタイムを実行する場合、ローカライズされると思います。
このスタック トレースを言語に依存しない方法で分離して、これを含むエントリのファイルと行番号のみを表示できるようにする方法はありますか?
つまり、上記のテキストから次の情報を取得したいと思います。
C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
あなたが与えることができるアドバイスは役に立ちます。