c# - 调试时无法设置下一条语句

标签 c# visual-studio-2013 visual-studio-2015 .net-4.5 stack-unwinding

我在 VS2015 中调试我的项目,我的代码中抛出了一个异常。 当我尝试设置下一条语句时,我收到下面显示的错误消息。当我在 VS2013 中调试相同的解决方案时,我能够毫无问题地设置下一条语句。这种行为似乎发生在多种异常情况下。

Microsoft Visual Studio error window: "Unable to set the next statement. The attempt to unwind the callstack failed."

我可以用来重现问题的示例代码如下所示。当在 TestMethod1 的最后一行抛出异常时,我可以轻松地返回到 VS2013 中的第一条语句,但在 VS2015 中则不行。

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        object o = new object();
        o = null;
        var e = o.ToString();
    }
}

最佳答案

在异常设置中,您需要为正在抛出的特定 CLR 异常类型启用 Break When Thrown,或为自定义异常启用 。在此特定示例中,启用 System.NullReferenceException 应该允许您按预期设置下一条语句。

如果您希望在不中断所有未列出的 CLR 异常的情况下中断特定的自定义异常,您可以将它们添加到异常设置中的列表中并相应地进行选择。

我在 MSDN 上询问过这个问题,并从那里转发信息。 [ Source ]

关于c# - 调试时无法设置下一条语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32455046/

相关文章:

azure - 如何使用 Visual Studio 将 Web 应用程序部署到 Azure 应用服务环境?

azure - VS2015 NuGet无法安装Microsoft.WindowsAzure.ConfigurationManager或ServiceBus

c# - 以编程方式为 C# 中的文件添加安全权限

C# 从末尾删除整个字符串

c# - 代码在本地运行良好,但在 GoDaddy 上实时发布时出错

c++ - CUDA header 包含失败,可在.cpp文件中使用

c# - 什么时候在 C# 中使用@?

c# - ClassName() 没有返回任何,片段工具 visual studio 2013

Azure 事件日志 - 从博客下载文件

c# - 我可以从 Visual Studio Code 编译并运行 .NET MVC 5 项目吗?