C#虚拟泛型方法调用导致VS 2013调试器崩溃

时间:2014-09-25 18:36:50

标签: c# asp.net-mvc-5

在调试以下代码时遇到了一个奇怪的问题;

List<int> entityIds = _syncEngine.SearchChangeTrackedEntity<int,Order>(syncGuid,
   SyncType.New, null, 1000);

此方法的接口定义是;

List<T> SearchChangeTrackedEntity<T,U>(Guid syncGuid,
   SyncType syncType, List<AdditionalCriterion> filters, int maxResults)
       where U : IChangeTrackedEntity;

实现接口方法定义的类是;

public virtual List<T> SearchChangeTrackedEntity<T, U>(Guid syncGuid,
   SyncType syncType, List<AdditionalCriterion> filters, int maxResults)
      where U : IChangeTrackedEntity

我在本地IIS实例(Win 7)上运行此代码。调试器抛出一个“Visual Studio即时调试器”“在w3wp.exe [7536]中发现未处理的win32异常”,以及在代码中稍后使用的entitlyIds列表时的异常。

真正奇怪的是,如果调试器没有运行,代码会正常执行。

可能导致此问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

所以一周之后我偶然发现了解决这个问题的方法。

修复方法是设置标志&#34;使用托管兼容模式&#34;在工具&gt;选项&gt;调试器&gt;一般

请参阅:http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality