我正在使用Silverlight中的某个项目,某个地方会抛出异常。我不关心修复异常......我只是想找到它。
而不是Visual Studio弹出并显示发生异常的行,而是获得一个标记为“Just In Time”的小窗口,其中提到了错误4004,一个托管运行时错误。它询问我想用哪个调试器来解决问题。但是,它只提供一个选项:Visual Studio的 new 实例。如果我尝试接受其提议,新实例会抱怨调试器已经附加。
为什么构建程序并且已经运行的VS实例没有捕获异常并显示它在哪里?
答案 0 :(得分:4)
这是一种奇怪的行为。我要做的第一件事是更改一些设置
这可以帮助您缩小发生异常的位置。
禁用我的代码
启用本机调试
在抛出第一个异常时中断
答案 1 :(得分:0)
Silverlight有吞咽异常的习惯。我称之为“无声失败”并且发现它非常昂贵且令人沮丧。使用Silverlight时,您可以做的所有事情都会暴露异常,例如绑定失败。
看看这里:http://msdn.microsoft.com/en-us/library/cc189070%28v=vs.95%29.aspx
还有一个元素设置让它们可视化绑定失败,但我忘了它是什么,因为我不再在Silverlight中工作了。
答案 2 :(得分:0)
看起来问题是调试的类型。在项目属性中,确保启用Silverlight调试。在您的网站项目中右键单击,转到属性,然后在底部的“Web”选项卡上有一个名为Debuggers的部分。确保选中Silverlight。
有时JS调试器附加到IE进程,这意味着附加了调试器,但它根本不是您想要的调试器。我认为这可能是导致这个问题的原因。
希望这会有所帮助。 米格尔
答案 3 :(得分:0)
单击debug,选择exception,将公共语言运行时异常标记为thrown。 我有同样的问题,它解决了我的问题