代码之家  ›  专栏  ›  技术社区  ›  Thorarin

对于Web应用程序,VS2008调试器的行为异常

  •  0
  • Thorarin  · 技术社区  · 15 年前

    在我的工作计算机上,Visual Studio 2008(SP1)中的调试工作似乎与我过去所习惯的有所不同。我有两个可能相关或不相关的问题。

    第一个问题:

    当我在调试模式下运行一个Web应用程序,并且发生未处理的异常时,我会立即看到一个黄色的死亡屏幕。通常,我的代码只是在引发异常的行处中断,允许我检查程序的状态。

    出于某种原因,我在工作PC上做这件事的唯一方法是在引发异常的行上设置一个断点,然后重复我所做的。这几天来一直让我恼火,但我不知道是什么原因造成的。有什么想法吗?

    第二问题

    我正在调试的站点中使用的WCF Web服务在调试方面也表现得有点奇怪。大多数情况下,在服务中设置断点在执行该代码时不会有任何效果。起初,我想我必须附加到wcfhost进程,但事实并非如此。当我在它调用服务的行上放置一个断点,并使用f11 步入 方法调用,i 以服务的代码结束,我可以调试我想要的一切。

    当断点被忽略时,为什么要单步执行工作?有没有办法改变这种行为?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Juri    15 年前

    对于第一个问题:

    • 在Visual Studio中,转到调试/异常
    • 您应该在列表中看到三列:“名称”(异常类型)、“引发”、“用户已处理”
    • 在“用户处理”列中,必须激活“公共语言运行时异常”复选框。

    注意,如果您不应该看到“用户已处理”列,请转到“工具/选项”,然后单击树中的“调试”,并在列表中激活“仅启用我的代码(仅限托管)”。然后“用户处理”列应该在另一个对话框中可见,您可以激活相应的复选框。

    对于第二个问题: 在我看来,我也遇到过类似的问题。我想您必须在那里设置断点,因为WCF服务在一个单独的“webserver”(本地vs webserver)上运行。因此,它不像在同一应用程序中的普通方法调用,因此您必须在被调用的WCF方法上设置断点。我总是这样做的,这对我来说非常有效。