さて、私はデバッグに関して多くの問題を抱えています。 VS2013 ProとWindows 8.1を使用しています。どちらも最新です。問題は、デバッグを開始すると、半分の時間でこのエラーがスローされることです。
タイプSystem.AccessViolationExceptionの未処理の例外がSystem.Windows.Forms.dllで発生しました
追加情報:保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。
それも私のコードのせいではありません。以下の例として簡単なテストを行いました。このアプリからSystem.Windows.Formsを参照していないことに注意してください。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<int> testing = new List<int>();
for(int i =0; i < 50; i++)
{
testing.Add(i);
}
for (int i = 0; i < 50; i++)
{
Console.WriteLine(testing[i].ToString());
}
Console.ReadLine();
}
}
}
何が原因なのか、私にはわかりません。 [OK]をクリックして再度実行すると、ほとんどの場合、問題なく動作します。時々私は二度それをしなければならない。
何か案は?
スタックトレース:
プラットフォームターゲットをx86に変更するとうまくいきました。コードをステップ実行することは、前述の例外なしでは不可能であるようになりました。 Win 8.1 64ビットとVisual Studio 2013を実行しています。
私はまた、Visual Studio Express2015を使用してWindows10でこの問題に遭遇しました。 x86にビルドしても問題は解決しませんでしたが、次の回避策で解決しました。
この問題は、戻り値を収集するコードが原因で発生します。マネージ戻り値を無効にすることで問題を回避することが可能です。
http://veriworld.verivox.ads/docs/DOC-6011?et=watches.email.document_comment#comment-4629
場合によっては、VS/.netフレームワークにメモリの踏みつけの問題があるようです。誰かが何かが壊れたと言うとき、人々が「それはできません」と言うのをやめて欲しいです。
この問題は確認できました。これは、自分の商用アプリと共に配布される小さな(非常に簡単な)WinFormsプログラムで発生します。以前のバージョンのVSでは、同じマシンで実行されているものも含めて、VS2005に戻ることはありません。 VS2013でのみ発生します。私のバージョンのVSには、VS自体にインストールされているもの以外のサードパーティのアドインはありません。 「Main()」内のすべてのコードがコメント化されている場合でも問題が発生します。再起動して、ウイルスチェッカー、ファイアウォールなどを無効にしてみました。NETのどのバージョンもアプリのターゲット(2.0、3.5、4.0など)に違いはありません。これは頻繁に発生しますが、ランダムに発生します。うまくいくこともあれば、うまくいかないこともあります。図を行きます。
問題を引き起こす可能性があるように見えるものは何もありません。
例外のブレークを有効にしてみましたか?これにより、例外が発生したときにコードが一時停止します。
私の場合、そのようなVSの動作はComodo Firewallが原因でした。
解決策は、VSプロジェクトフォルダをComodo HIPS除外リストに追加することです(HIPSがオフになっていても!)。
これが関連スレッドのComodoフォーラムです: https://forums.comodo.com/empty-t98149.0.html