【问题标题】:Debug an application in production [closed]在生产中调试应用程序 [关闭]
【发布时间】:2012-06-26 14:01:28
【问题描述】:

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

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

我们想在生产环境中“调试”应用程序。我们梦想着使用具有 Visual Studio Debugger 和 ILSpy 功能的工具。也就是用反汇编代码一步步执行。

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

【问题讨论】:

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

标签: c# visual-studio debugging production-environment


【解决方案1】:

How to: Setup Remote Debugging

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

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

如果您执行这些项目,相关问题将得到解决;因为您现在有了追踪错误的工具。

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    相关资源
    最近更新 更多