0

我有一个巨大的程序,用 VB 2008 编写,涉及大量自制的 DLL、套接字通信、多线程等。

有时,程序会突然崩溃,并在事件查看器中显示以下详细信息: CLR20r3 不可用 0 CMS.exe 1.0.0.0 5177cc90 mscorlib 2.0.0.0 4a275af7 3440 10 System.ObjectDisposedException

我做了功课试图找出问题所在,但我无法准确指出它可能在哪里(这个程序集中有数十万行代码)。我在 main() 中放置了一个处理程序来捕获任何 UnHandledException,但它似乎根本没有触发。

我的问题是,我怎样才能在 VS 之外调试这个?该软件安装在我们客户仓库的生产工业PC上,因此我们无法安装VS,原因很明显。

任何提示将不胜感激。

感谢您宝贵的时间和帮助

4

1 回答 1

0

处理System.Windows.Forms.Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException在 80% 的情况下都可以解决问题(遗憾的是,一些错误,如 COM 错误不会被捕获)。

例如,在此类事件中,您可以将异常消息和异常 StackTrace 转储到日志文件。如果您在应用程序中提供 pdb 文件,您将能够在 StackTrace 中看到行号,这是调试它的好方法。

于 2013-05-09T13:52:02.530 回答