我有一个庞大的程序,用VB 2008编写,涉及许多自制的DLL,套接字通信,多线程等。
有时候,程序崩溃了,事件查看器中包含以下详细信息: CLR20r3 无法使用 0 CMS.exe 1.0.0.0 5177cc90 mscorlib程序 2.0.0.0 4a275af7 3440 10 System.ObjectDisposedException
我做了我的作业试图找到问题,但我无法确切地指出它可能是什么(在这个程序集中有成千上万行代码的hundreads)。我把一个Handler用来捕获main()中的任何UnHandledException,但它似乎根本没有触发。
我的问题是,如何在VS外调试这个?该软件安装在我们客户仓库的生产工业PC上,因此我们无法安装VS.
任何提示都会非常感激。
感谢您宝贵的时间和帮助
答案 0 :(得分:0)
处理System.Windows.Forms.Application.ThreadException和AppDomain.CurrentDomain.UnhandledException在80%的情况下执行这一操作(遗憾的是,某些错误(如COM错误)不会被捕获)。
在此类事件中,您可以例如将Exception消息和Exception StackTrace转储到Log文件。 如果您在应用程序中提供pdb文件,您将能够在StackTrace中看到行号,提供了一种调试它的好方法。