我发现自己遇到的问题与here相同,我在dll中使用Windows窗体(这是用于Autocad插件)而我无法调试我的代码因为我收到“应用程序在中断模式。您的应用程序已进入中断状态,但当前没有执行所选调试引擎支持的代码“。我在this list尝试了所有推荐,但没有一个推荐给我。一件奇怪的事情是我可以在构造函数中断,但使用控制器/配置对象的事件会获得该页面。
为什么会发生这种情况的任何想法?
提前致谢
答案 0 :(得分:2)
就我而言,我在调用MVC API端点时收到了同样的消息,并且它也引发了堆栈溢出异常。原因是外部dll中的对象属性,它是用后备字段编写的。意外写入属性的set访问器以设置属性而不是引起无限循环的后备字段,因此堆栈溢出异常。请注意setter中缺少的下划线。
private string _Prefix;
public string Prefix
{
get { return _Prefix; }
set { Prefix = value; }
}
虽然您的问题可能与我的问题不完全相同,但外部dll中也会发生类似情况。
答案 1 :(得分:1)
我从未使用过Autocad,但我为Solidworks和Creo Parametrics制作了一些插件。这是我断点不工作时通常做的事情:
确保在项目设置的构建选项卡上
对有问题的代码添加System.Diagnostics.Trace.WriteLine("something unique");
并在没有附加visual studio的情况下运行它以确保您的代码实际被调用。查看sys internals中的DebugView utility。
System.Diagnostics.Debugger.Launch();
和
System.Diagnostics.Debugger.Break();
代码。希望这会有所帮助,如果您需要澄清任何步骤,请与我们联系。
答案 2 :(得分:1)
重新启动visual studio可以解决这个问题。
答案 3 :(得分:0)
我的Visual Studio 2017 15.8.6出现此问题。 也许我的代码设置为“允许不安全代码”,但是它具有相同的错误代码。 解决方案是单击工具>选项>调试>常规>使用托管兼容模式并激活它。 我从this forum找到了解决方案。
答案 4 :(得分:0)
对我来说,解决方案是仅安装Oracle.ManagedDataAccess.Core NuGet软件包。我也安装了Oracle.ManagedDataAccess,我需要卸载它们以修复Break模式错误。
答案 5 :(得分:0)
我也有同样的问题。经过分析,发现一些依赖项目没有正确构建。重建所有对我有用的项目。