2

Visual Studio 2015 のデバッグ セッション (ブレークポイント ヒット) 中に、ほぼすべてのコードを変更して、ContinueStep IntoStep Over (など)、コマンドのいずれかを選択すると、すぐにExecutionEngineExceptionが発生し、続いて CLR がクラッシュします。

これは 1 つのプロジェクトでのみ表示されるようです。

System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(int dwComponentID, int reason, int pvLoopData)    Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context)    Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)  Unknown
Microsoft.VisualBasic.dll!Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() Unknown
Microsoft.VisualBasic.dll!Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()    Unknown
Microsoft.VisualBasic.dll!Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(string[] commandLine)   Unknown
[Native to Managed Transition]  
[Managed to Native Transition]  
mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args) Unknown
Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()   Unknown
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state)    Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()    Unknown

この問題のトラブルシューティング方法は?

4

2 に答える 2

3

問題のシナリオを最小化することで答えを見つけました。

問題は、 + + と次のコードの組み合わせにあるようです。

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim gridSize As Size = New Size(3, 11)
        Dim z As Integer
        z = 22
        z = 1
    End Sub
End Class

ブレークポイントを に配置しEnd Sub、そこで停止し、割り当てを交換して、次のステートメントを最初の割り当てに設定します。ブーム。

マイクロソフトに報告しました。を使用することです。

于 2015-09-28T17:25:53.243 に答える
1

C# の Visual Studio Community 2015 でも同じ問題があります。.Net 3.5 用にコンパイルされたプロジェクトをデバッグし、ブレークポイントにヒットして「編集して続行」を実行すると、ほとんど生き残れません。コンパイラ/IDE は、考えられるいくつかのエラー メッセージのいずれかでクラッシュします。ほとんどの場合、ExecutionEngineException に続いて CLR クラッシュが発生します。

同じプロジェクトを .net 4.6.1 にコンパイルすると、VS 2015 IDE デバッガーが正しく動作します。メイン プロジェクトを .net 4.6.1 に設定するだけで十分です。呼び出された .dll は、.net 3.5 であってもデバッグ可能です。

(古い VS 2013 IDE デバッガーは .net 3.5 で正しく動作しましたが、ごくまれにクラッシュしました。)

この動作は、多くのプロジェクトに当てはまります。

于 2016-03-05T19:35:38.613 に答える