debugging 应用程序处于中断模式-无法确定原因

qkf9rpyu  于 2023-10-24  发布在  其他
关注(0)|答案(9)|浏览(161)

我的应用程序终止时,IDE有时会中断。
当这种情况发生时,调用堆栈是空的,线程列表显示了一些线程,这些线程没有向我透露任何信息。
当我选择“中断器”-“进入”时,IDE退出/最终似乎正常,所以我不知道如何进一步调查导致中断的原因。
单击“检查正在运行的任务”不显示任何任务。单击“继续执行”退出调试似乎正常。单击“显示诊断工具”显示事件“执行时停止:执行时停止”,这并没有告诉我更多。
截图附后。
我该如何调查是什么导致了这种断裂?

编辑:我已经尝试了一个论坛成员的建议,但我认为这不会对我有任何帮助。这是一个截图:

kq0g1dla

kq0g1dla1#

如果代码是库的一部分或者不是你写的,你可能看不到异常发生的代码。下面的方法可能会有帮助:
选项>常规>取消选中“启用仅我的代码”

xe55xuns

xe55xuns2#

在我的一个Web应用程序中,我遇到了同样的问题,为了找出问题所在,在搜索类似的问题后,大多数人建议更改我的调试选项。因此,在调试选项中,在一般情况下,我标记了第二个选项“当一个进程中断时中断所有进程”,几乎在底部,“启用本地编辑并继续”;“应用更改并继续”。
有了这个,我的应用程序终于停止了我有问题的地方(字符串中的非法字符,这是auburn不喜欢的),并能够评估值,找出错误,编辑代码,直到它工作。这里是我的调试器选项的屏幕截图。希望你抓住你的bug:)
Debugger options

qlckcl4x

qlckcl4x3#

当你在调试器中时,你可以导航到监 windows 口,并使用伪变量来显示一些关于根本原因的信息。一个特别有用的是$exception

查看有关pseudovariables的文档。

dldeef67

dldeef674#

我没有找到任何实际调试问题的方法。我用蛮力的方法解决了问题:
我一个接一个地删除了所有程序集和COM对象,直到错误消失。
在我的例子中,我在一个模块中有一个带有WithEvents的公共控件。看起来VB.NET根本不喜欢这样。从现在开始,我将把控件和它的WithEvent放在一个表单中。
然而,主要的问题仍然存在:Visual Studio没有提供任何帮助来轻松隔离问题。

aydmsdu9

aydmsdu95#

转到异常设置并取消选中“Magaged Magnetic Assistant”

h7appiyu

h7appiyu6#

这可能是因为某些方法或构造函数不可访问(私有或内部),请将。
XAML需要调用方法来启动应用程序

vqlkdk9b

vqlkdk9b7#

当一个单线程Winforms应用程序在主线程中完成一个操作需要超过60秒时,也会发生这种情况。
我以一种肮脏的方式解决了这个问题,即在过长的处理时间内,从主线程定期调用Application.DoEvents()。IDE中会正确处理Application.DoEvents调用之间发生的错误。

czfnxgou

czfnxgou8#

这只是在调试模式下运行程序时的警告消息。如果您更改为“发布”模式,则不会再看到此消息。

ngynwnxp

ngynwnxp9#

我也有类似的问题,当附加进程会在中断模式下抛出异常应用程序时,我使用了所有上述建议,例如:
1.选项>常规>取消选中“启用仅我的代码”
1.在Release模式下编译而不是在Python模式下编译。
对我来说,什么工作是,搜索线索使用并行堆栈后,我发现我正在调用HIDSharp.dll的外部组件,创建的句柄没有被释放没有使用dispose或close,所以它是使用外部资源,因此它是在一个中断模式.
希望它能帮助一些人在应用程序中寻找手柄或循环。

相关问题