Set*_*man 3 .net debugging remote-debugging winforms
我支持相当广泛部署的.NET 2.0 Winforms应用程序.在极少数情况下,我们会收到客户的支持电话,当您尝试启动应用程序时,应用程序会返回.NET运行时异常.
在过去,我们帮助客户重新安装.net框架,并且经常有效......但有时候不行.
在这种情况下,可以使用Windows调试工具来确定问题的原因.如果是这样,你必须下载调试符号到目标计算机(想避免,因为这可能是几百MB的东西下载到目标.)
对于.net应用程序来说这有点过分吗?任何替代品.你会如何调试这个.非特定的逐步将是值得赞赏的.当然,这个应用程序在目标机器上编译为RELEASE配置.客户很可能没有安装开发工具或调试工具.我们通常可以远程控制对计算机的访问.重新迭代.这种情况很快发生,因为客户试图运行应用程序并立即失败.
为客户解决这个问题的最快途径是什么?
以下是事件日志中最近出现的错误示例.
EventType clr20r3..exe P2 2010.1.0.0,p3 4B857AFD P4 BLAH BLAH system.invalidoperation,P10 NIL.
来源:.NET Runtime 2.0错误.EventID:5000
提前致谢.
赛斯
为什么不使用它?
对于客户的机器,您将无法进行远程调试.因此,建议捕获崩溃转储以防止挂起问题崩溃和挂起转储,WinDbg或ADPlus.exe在这里非常有用.
请您的最终用户在WinDbg中启动您的应用程序,然后执行
.dump /f path
Run Code Online (Sandbox Code Playgroud)
要保存故障转储,您可以请求转储文件并分析崩溃.
在目标计算机上,不需要符号.当您在自己的计算机上分析崩溃转储时,符号很有用,而SOS之类的东西也很有用.
当然还有其他方法可以获得崩溃转储,
http://blogs.msdn.com/lexli/archive/2009/08/23/when-the-application-program-crashes-on-windows.aspx
归档时间: |
|
查看次数: |
2374 次 |
最近记录: |