クラッシュの場合、およびユーザーが送信したい場合にエラー/スタックトレースを報告するプログラムがあります。
以下に示すように、時折、エラー メッセージに奇妙な文字が表示され、スタック トレースも表示されます。
ファイルã¾ãŸã¯ã‚¢ã‚»ãƒ³ãƒ–リ '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);
.....
}
おそらく、そのマシンの英語以外の言語を使用する必要があると思います。ここで何が問題なのかについて、誰かが私にアドバイスしてもらえますか..
Hans Pasant のコメントの後に追加
Web に投稿する前にスタック トレースをバイトに変換する次のコードがあります。
byte[] postdata = System.Text.Encoding.UTF8.GetBytes(stackTrace)
こことまったく同じコードを使用してこのデータを投稿します
Brian Grinstead によって投稿されたC# クライアントからのマルチパート フォーム