我一直在搞乱VS 2010调试设置,试图进入.NET Framework工作。好吧,我无法让它发挥作用。我也试过了Reflector VS插件,而且这个插件工作正常。
然后我随机开始收到此错误:
当我在调用IEnumerable<T>.ToList()
的行上有断点时,会发生 。如果我尝试在设置断点的那一行上跳过或步入,我会得到这个错误对话框并且调试会话结束。
如果我将断点移到下面的行,调试器会使它超过ToList()
调用!
我尝试过以下无效:
发生了什么事?
答案 0 :(得分:5)
因为这是我在搜索答案时第一个来到的地方,我会添加我发现的内容。
就我而言,我在解决方案中设置了调试器来启动多个项目。出于某种原因,Visual Studio更改了此设置,因此没有项目启动。纠正解决方案中的设置立即解决了问题。
问题并不难解决,但错误信息更令人恼火。
答案 1 :(得分:4)
我刚发现this answer很有用。我所做的只是将我的启动项目改为另一个,并恢复正常。
我的项目可能在某个地方丢失了此设置,重置它使其再次可用。
答案 2 :(得分:2)
这是一个ToString()
覆盖,使调试器崩溃! (评估后,调试器将使用ToString()
方法显示结果)。如果在ToString()
中出现异常,则永远不会捕获异常,因为您无法对调试器行为进行编码。
我从msdn
得到了这个答案答案 3 :(得分:1)
我遇到了同样的问题......
我发现了一种听起来不常见的解决方案......
调试器无法继续运行该进程。进程已终止 在逐步调试代码时,您将找到错误重定向的行。 如果您在该文件中的任何位置使用“ToString()”,请删除它。 而不是,您可以使用值/文本。 它工作正常。 ............
如果您没有在程序中的任何位置使用ToString(),则通过完全删除重新加载项目副本。
答案 4 :(得分:1)
我遇到了同样的问题。我将它追溯到一个类(逐步调试),最后到一个属性(评论所有代码,然后逐步取消注释)。
此属性从table.Dataset
返回一个类型化的数据集private typedDataSet myDataSet
{
return this.DataSet as typedDataSet;
}
这是在DataTable分部类中。 删除此属性后,一切正常。
答案 5 :(得分:1)
我遇到了这个问题,包含了复制/粘贴的代码错误。我没有获取/设置私有成员变量,而是自己进行了get / set。当我在其他代码中引用该属性时,调试器终止(2010):
public bool ProdToDeve
{
get { return ProdToDeve; } // <= missing underbar
set { ProdToDeve = value; }
}
private bool _ProdToDeve = false;
答案 6 :(得分:0)
当您尝试调试Xamarin解决方案但是您已选择类库作为启动项目而不是应用程序项目时,此消息也会显示。
答案 7 :(得分:0)
当我做以下事情时,我突然想到了:
throw new Exception(timeout.TotalSeconds + " second(s)");
那是因为timeout.TotalSeconds.ToString()
确实是类型为double
的对象的覆盖方法,而是抛出Parameter not valid
异常。
最后,为了安全起见,我最终做了以下事情:
throw new Exception(System.Convert.ToString(timeout.TotalSeconds));
答案 8 :(得分:0)
通常,这也是在多线程上下文中可以获得的错误消息。简而言之,它涉及并发性:确保始终确保您的资源访问安全。
就我而言,当我忘记保护代码中某些位置的资源访问时,收到此错误消息。 要解决此问题,我只需要用(在相关资源上) lock
说明来装饰关键部分。我希望这会对在这种情况下的人有所帮助。