我们有一个 .net 3.5 SP1 应用程序,我们的一个用户无法运行该程序。他们收到 Windows 对话框:“X 已停止工作。问题导致程序停止正常工作...”。
假设 .net Framework 和程序已正确安装,那么还有什么可能阻止该程序在可以运行其他软件的 PC 上运行?
更新:我使用 MSI 修复程序修复了 .Net,但仍然出现同样的问题。我下载了 Paint.Net 以确保问题不只出在我的软件上,但还是出现了同样的问题。这台机器是一台使用了 4 个月的戴尔笔记本电脑,所以我请我们的客户尝试联系戴尔支持。他们似乎并不关心它无法运行 .Net 应用程序(什么鬼?!),系统回滚也无济于事。最后,该人员不得不运行戴尔恢复盘来解决问题!
答案1
运行时通常会挂接默认异常处理程序,该处理程序会将异常消息记录到事件日志或发布给用户(在为调试模式编译并使用 WinForms 时)。在极少数情况下,您将无法获取正确的异常消息,例如当发生 BadImageFormatException(损坏的可执行文件)、StrongNameExcpetion 或 StackoverflowException 时。
最好的做法是在调试器中启动该进程(CorDbg 就可以,或者如果安装了 VisualStudio 也可以)。
否则,请检查事件日志。如果这没有帮助,请使用 DebugView(无法链接,抱歉,但它是 Google 上的第一个搜索结果)获取崩溃进程的调试输出。