作爲我們產品中某些錯誤處理的一部分,我們想轉儲一些堆棧跟蹤信息。但是,我們體驗到許多用戶只會截取錯誤消息對話框的屏幕截圖,而不是向我們發送程序中提供的完整報告的副本,因此我想在此對話框中提供一些最小的堆棧跟蹤信息。從C#打印堆棧跟蹤信息
我的機器上.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
你可以給任何意見將是有益的。
我想,因爲我有記錄的字符串從任意的應用工作會有人給出的答案解析,這和真的希望得到一些細節。鑑於你有控制StackTrace的來源,你確實已經選擇了正確的答案:) – TheXenocide 2012-09-18 13:44:58