В рамках некоторой обработки ошибок в нашем продукте мы хотели бы получить некоторую информацию о трассировке стека. Однако мы сталкиваемся с тем, что многие пользователи просто делают снимок экрана с диалоговым окном сообщения об ошибке, а не посылают нам копию полного отчета, доступного из программы, и поэтому я хотел бы сделать некоторую минимальную информацию о трассировке стека доступной в этом диалоговом окне.
Трассировка стека .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 ##]
Тем не менее, в и в ключевых словах, я предполагаю, что они будут локализованы, если они будут запускать, скажем, норвежскую среду выполнения .NET вместо установленной мной английской.
Можно ли как-нибудь выделить эту трассировку стека не зависящим от языка образом, чтобы я мог отобразить только номер файла и номер строки для тех записей, которые имеют это?
Другими словами, я хотел бы получить эту информацию из приведенного выше текста:
C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
Любой совет, который вы можете дать, будет полезен.