更新
我用最新发现改变了这个问题,并尽可能简化了。
我有以下代码
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
更新:如果我删除功能
virtual
的DefineAction
,则不会抛出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