我有一个项目,我需要修复这个程序,它有非常不确定的崩溃倾向。这个软件执行大量的计算和数据库调用,并且可能具有很高的负载,意味着很多客户端。
这是一个非常关键的组件,没有它就没有任何作用。它需要执行并且能够在没有用户交互的情况下长时间运行。
它实际上是一个带有COM的本机C ++ / ATL项目,用于两个可执行文件之间的通信。
我现在花了很多时间实际研究代码并寻找明显的代码缺陷,例如没有锁定共享变量(显而易见的那些),异常处理程序除了'之外什么也不做返回false',即使这可能是一个关键的例外。
但是我想知道是否有人在解决这样的项目方面有一些提示,许多人实际上已经尝试解决问题并且失败了,现在你已经接受了挑战并且不想失败。
我准备远远解决这个问题,但是我需要一些关于如何以良好方式解决这个问题的指导?
我的想法是首先建立一个测试环境,并希望尽可能多地收集有关崩溃的信息,然后通过记录,堆栈跟踪等找出崩溃点。这可能是也可能不是调试这样一个项目的好方法。
赞赏任何意见?
答案 0 :(得分:3)
这可能是显而易见的,但我的错误修正任务的路线图是:
如果您仍然无法找到错误的来源,请尝试清理源代码并添加更详细的日志记录系统。
此致
答案 1 :(得分:0)
记录,记录,记录,记录。