【问题标题】:Silverlight Won't Show ExceptionsSilverlight 不会显示异常
【发布时间】:2012-01-21 02:18:25
【问题描述】:

我正在 Silverlight 中处理一个项目,但在某个地方引发了异常。我不关心修复异常......我只是想找到它。

我没有弹出 Visual Studio 并显示发生异常的行,而是看到一个标有“及时”的小窗口,其中提到了错误 4004,这是一个托管运行时错误。它询问我想使用哪个调试器来解决问题。但是,它只提供了一个选项:Visual Studio 的 new 实例。如果我尝试接受它的提议,新实例会抱怨已经附加了一个调试器。

为什么构建程序并正在运行的 VS 实例没有捕获异常并告诉我它在哪里?

【问题讨论】:

    标签: visual-studio debugging exception silverlight-4.0


    【解决方案1】:

    这是一种奇怪的行为。我要做的第一件事是更改一些设置

    • 仅禁用我的代码
    • 启用本机调试
    • 第一次抛出异常时中断

    这应该可以帮助您缩小异常发生的范围。

    仅禁用我的代码

    • 工具 -> 选项
    • 调试器
    • 取消选中“仅启用我的代码”

    启用本机调试

    • 右键单击项目并选择属性
    • 转到“调试”选项卡
    • 勾选“启用非托管调试”

    在第一次抛出异常时中断

    • 调试 -> 异常
    • 检查公共语言运行时异常的“引发”

    【讨论】:

    • @Stefan 我为每个建议添加了步骤
    【解决方案2】:

    Silverlight 有吞下异常的习惯。我称之为“无声的失败”,发现它非常昂贵且令人沮丧。使用 Silverlight 时,尽您所能公开异常,例如绑定失败。

    看看这里:http://msdn.microsoft.com/en-us/library/cc189070%28v=vs.95%29.aspx

    还有一个元素设置可以让它们可视化绑定失败,但我忘记了它是什么,因为我不再在 Silverlight 中工作了。

    【讨论】:

      【解决方案3】:

      看起来问题出在调试类型上。在您的项目属性中确保启用 Silverlight 调试。在您的网站项目中右键单击,转到属性,然后在底部的“Web”选项卡上,有一个名为 Debuggers 的部分。确保选择了 Silverlight。

      有时JS调试器是附加到IE进程的,这意味着有一个调试器附加,但它根本不是你想要的调试器。我认为这可能是这个问题的原因。

      希望这会有所帮助。 米格尔

      【讨论】:

        【解决方案4】:

        单击调试,选择异常,将公共语言运行时异常标记为已抛出。 我遇到了同样的问题,它为我解决了问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-27
          相关资源
          最近更新 更多