我有一个用C#编写的.NET Winforms应用程序,它可以在一台特定的机器上运行。在那台机器上它没有启动就死了。没有错误消息,但会将以下内容写入事件日志:
输入:错误
来源:.NET Runtime 2.0错误报告
描述:错误应用程序myapp.exe,版本4.2.0.0,邮票4bcf05d0,错误模块kernel32.dll,版本5.2.3790.4480,邮票49c51f0a,调试? 0,故障地址0x0000bef7。
该机器似乎没有任何奇怪之处 - 它是使用VSphere创建的众多克隆之一,并且不会出现任何其他问题。其他克隆运行我的应用程序没有任何问题。它是带有.NET Framework 3.5 SP1的Windows Server 2003 SP2,运行Citrix,在克隆后重新安装以获取新名称(与其他克隆一样)。
有关如何诊断或捕获问题的任何建议吗?
此外,我很快将发布我的应用程序的新版本,我可以对新版本做些什么来提供有关此类问题的更多信息吗?
答案 0 :(得分:5)
在该计算机上安装Windows的调试工具,并使用WinDbg启动您的应用程序。然后它应该说明发生了什么异常。
答案 1 :(得分:1)
如果错误与环境有关(例如缺少装配),则应用程序将无法到达您可以捕获的位置。记录下来。
我会创建一个新的控制台应用程序,然后将这样的应用程序加载到新的AppDomain中并使用ExecuteAssembly运行它。如果错误是.NET异常,您将能够捕获它们并写入控制台窗口。
答案 2 :(得分:0)
您的MyApp.Exe.Config是否是正确的XML文件?在Visual Studio中打开它,看看是否有任何针对XML格式的错误。