我有一個程序會在崩潰的情況下向我報告錯誤/堆棧跟蹤,並且用戶希望發送它。堆棧跟蹤損壞字符
偶爾我會收到錯誤消息中的奇怪字符以及堆棧跟蹤,如下所示。
ファイルã¾ãŸã¯ã‚¢ã‚»ãƒ³ãƒ–リ 'Interop.iTunesLib, Version=1.11.0.0, Culture=neutral, PublicKeyToken=null'ã€ã¾ãŸã¯ãã®ä¾å˜é–¢ä¿‚ã® 1 ã¤ãŒèªã¿è¾¼ã‚ã¾ã›ã‚「ã§ã—ãŸã€‚指定ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚「。
stack trace
------------------------------------------------------
å ´æ‰€ STLib.TInfo.Init(Form f)
å ´æ‰€ STLib.FormMain..ctor() å ´æ‰€ C:\repo_sync\ST\FormMain.cs:è¡Œ 37
å ´æ‰€ STLib.Program.Main() å ´æ‰€ C:\repo_sync\ST\Program.cs:è¡Œ 54
我的代碼,構建了堆棧跟蹤看起來像這樣
private static void GlobalThreadExceptionHandler(object sender, System.Threading.ThreadExceptionEventArgs e)
{
...
String stackTrace = "";
Exception currentEx = e;
do
{
stackTrace += string.Format("\r\n{0}", currentEx.Message);
stackTrace += "\r\n------------------------------------------------------";
stackTrace += string.Format("\r\n{0}", currentEx.StackTrace);
currentEx = currentEx.InnerException;
if (currentEx != null)
{
stackTrace += "\r\nCaused by";
}
}
while (currentEx != null);
.....
}
我想大概有這樣做機器的非英語語言,可有人請告知我在此以什麼錯在這裏..
添加後漢斯Pasant的評論
我有以下代碼的堆棧跟蹤字節轉換髮布到網絡之前..
byte[] postdata = System.Text.Encoding.UTF8.GetBytes(stackTrace)
我使用這裏
Multipart forms from C# client張貼由布賴恩格林斯蒂德
可能會導致此問題的內存損壞。這一直在發生嗎? – Oded
不是所有的機器,但有時當我得到報告,他們包含奇怪的字符 – Ahmed
當我來自世界的非拉丁地區(例如阿拉伯)的用戶不時報告我的錯誤,我也會不時。我只是假裝我的字體不能正確顯示這些字符。應該與實際的錯誤無關。另一種選擇可能是某種混淆器。 –