C# 在生产中调试应用程序

C# 在生产中调试应用程序,c#,visual-studio,debugging,production-environment,C#,Visual Studio,Debugging,Production Environment,我们自制的应用程序使用框架3.5用C#编写,在生产过程中出现了一些奇怪的错误。应用程序是无日志的(我知道…),即使在事件查看器中,崩溃也不会给我们提供可用的信息。此外,当错误存在时,错误处理也很差 签出代码并查找开发环境中的问题不是解决方案,因为我们不知道问题是什么 我们希望在生产环境中“调试”应用程序。我们梦想着使用具有VisualStudio调试器和ILSpy功能的工具。也就是说,使用解汇编代码逐步执行 那么,当我们没有日志或错误处理来调试生产中的应用程序时,有什么解决方案 编辑:在看到对主

我们自制的应用程序使用框架3.5用C#编写,在生产过程中出现了一些奇怪的错误。应用程序是无日志的(我知道…),即使在事件查看器中,崩溃也不会给我们提供可用的信息。此外,当错误存在时,错误处理也很差

签出代码并查找开发环境中的问题不是解决方案,因为我们不知道问题是什么

我们希望在生产环境中“调试”应用程序。我们梦想着使用具有VisualStudio调试器和ILSpy功能的工具。也就是说,使用解汇编代码逐步执行

那么,当我们没有日志或错误处理来调试生产中的应用程序时,有什么解决方案

编辑:在看到对主要回复的一些回复后,我的建议继续

  • 向代码中添加更多Try/Catch块
  • 对空变量和列表进行更多检查
  • 投入更多的错误处理。针对这种情况采取分而治之的策略。确定错误所在的位置,并开始引入错误处理、日志记录和常规管道,以便更好地编写代码

如果你做了这些事情,问题就会解决;因为您现在有了跟踪错误的工具。

将日志添加到同一版本并重新部署它不是一个选项?它是什么类型的应用程序?ASP.NET、windows服务、已部署的桌面应用程序等?我记得Visual Studio可以在远程计算机上执行调试-只需在PROD服务器上启动调试服务,并部署“调试”编译代码。。。够恶心的了,但比什么都没有…@tisho:great feature,但是当附加了调试器并且代码在断点处暂停时,应用程序将不再响应。这可以被认为是服务中断。当然,正如我所说,这是一个令人讨厌的黑客行为。但您可以启动一个新实例(站点、服务),并单独调试它。它仍在远程服务器上。问题是,如果问题发生在高负载之后-您无法在非公共实例上轻松模拟高负载。。只是想法。。。