更新

我用最新发现改变了这个问题,并尽可能简化了。

我有以下代码

public virtual int DefineAction(bool b, string s, Type1 t1, Type2 t2)
{
    return 1;
}

public ProcessResult Process(bool b, string s, Type1 t1, Type2 t2)
{
   int i = DefineAction(b, s, t1, t2);
   // more code
}


当我在Line var int i= ...上设置断点时
我尝试逐步解决,我得到一个AccessVialoationExeption

更新:如果我删除功能virtualDefineAction,则不会抛出Exeption。

UPDATE2:如果我从DefineAction中删除​​一个参数,例如将其定义为DefineAction(bool b, string s, Type1 t1),则不会抛出Exeption。
现在吓到我了:-(

所有程序集均未标记为不安全。在单独的线程中没有任何运行。

如果我在Visual Studio中以无断点的调试模式运行程序,则Exeption不会抛出异常

有什么提示或想法怎么了?

最佳答案

看起来像这个VS错误:
Weird Access Violation Exception

报告在这里:
https://connect.microsoft.com/VisualStudio/feedback/details/911564/access-violation-exception-in-vs-hosting-process-when-debugging-application

并假定在此.NET版本中已修复:
http://www.microsoft.com/en-us/download/details.aspx?id=42642

08-06 20:38