调试多个exe程序

问题描述:

我有一个项目,我需要修复这个程序,它有非常不确定的崩溃倾向。这部分软件执行大量的计算和数据库调用,并且可能有很高的负载,这意味着很多客户端。调试多个exe程序

这是一个非常关键的组件,没有它没有任何作品。它需要长时间执行并且能够在没有用户交互的情况下运行。

它实际上是一个本地的C++/ATL项目,用于COM的两个可执行文件之间的通信。

我花了很多时间研究代码,寻找明显的代码缺陷,比如不锁定共享变量(显而易见的),异常处理程序,它们不会对异常做任何事情,除此之外'return false',即使这可能是一个重要的例外。

但是我想知道是否有人在处理这样一个项目方面有一些技巧,很多人实际上已经试图解决问题并失败了,现在你已经接受了挑战并且不想要失败。

我准备好去解决这个问题了,但是我需要一些指导来说明如何以良好的方式去解决这个问题?

我的想法是首先建立一个测试环境,并希望收集尽可能多的有关发生崩溃的信息,然后通过日志记录,堆栈跟踪等找到崩溃点。这可能是也可能不是调试这样一个项目的好方法。

任何输入是赞赏?

这可能是显而易见的,但我对这种bugfixing任务的路线图是:

  1. 收集尽可能多的信息,可能在碰撞源(用户,developpers等)。
  2. 检查文档和依赖关系。
  3. 检查源代码。
  4. 构建一个独立的测试环境并尝试重现。

如果仍然无法找到该错误的来源,请尝试清理源代码并添加更详细的日志记录系统。

Regards

Log,log,log,log。