过去,当我的 Visual Studio 2015 C#(WPF,如果相关)项目发生异常时,我能够编辑并继续。我经常遇到空引用异常等简单问题,我可以快速解决问题并继续。
但是,最近我不断收到以下警告信息:
“调试器无法展开到该帧。”
它指出在以下情况下不可能展开:
- 调试是通过即时调试开始的。 - 事实并非如此,我正在通过从 Visual Studio 运行“开始调试”进行调试。
- 放松正在进行中 - 据我所知,除非出于某种原因,它一直在进行中!
- System.StackOverflowException 或 System.Threading.TreadAbortException - 这发生在所有异常上,包括像空引用这样的简单异常
我在谷歌上搜索了几篇文章说他们在 2006 年实现了这个功能,除此之外,只有大约 3 个结果回来了!
这似乎是特定于项目的。在一个干净的新项目中:
Object o = null;
String s = o.ToString();
抛出异常,让我编辑并继续之前的行。在我现有的项目中,我无法放松,它会弹出对话框。
编辑:尝试使用不同的计算机和 Visual Studio 安装,但问题仍然存在。
这似乎是 Caliburn Micro 的问题。
如果我的用户界面上有一个按钮链接到上面代码后面的代码中的事件,我可以倒带和调试。但是,如果我使用 cal.message.attach 并将代码放在引用的 ViewModel 的方法中,那么我就无法放松。但我不确定。
最佳答案
您可以一个一个地尝试和测试这些解决方案。
- 展开异常在优化代码中是不可靠的。调试 |选项 - 选中“仅启用我的代码”
- 调试 |选项 - 选中“使用托管兼容模式”
- 调试 |选项 - 取消选中“启用属性评估和其他隐式函数调用”。如果这不起作用,还有:
- 调试 |选项 - 选中“使用旧版 C# 和 VB 表达式计算器”
- 调试 | window |异常设置 - 展开“公共(public)语言运行时异常”下拉列表。确保检查您的异常(exception)情况。
关于c# - Visual Studio 错误 : "The debugger cannot unwind to this frame." on any exceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588201/