我正在调试和增强 C#/XAML 程序,该程序在运行时重复生成异常,我可以在“输出”窗口中看到该异常。
“System.ObjectDisposedException”类型的第一次机会异常发生在 System.dll 中
“System.ObjectDisposedException”类型的第一次机会异常发生在 System.dll 中
(出于某种原因,它们似乎成对发生)在异常发生后程序本身继续运行。
该程序由一些 XAML/C# 代码隐藏组成,它们为 .Net DLL 中的调用库形成前端和测试工具,这也是我们 C# 代码的一部分。
总代码库(前端和 DLL)是大约 10 万行 C# 源代码,分布在大约 25 个文件中。它主要在一个线程中运行,除了在套接字数据处理程序中运行的代码之外,当数据从外部硬件设备到达时,系统会调用这些代码(该程序运行工厂制造过程)。
如何缩小/追踪代码中触发这些异常的位置或内容?
在 Visual Studio 中,您可以在引发异常时中断执行。转到调试菜单 -> 异常 -> 公共语言运行时异常 -> 系统 -> System.ObjectDisposedException 并选中“抛出”复选框。