Testing 软件在生产环境中崩溃,无法访问调试器。短期和长期应该做什么?
这是一个采访问题: 软件在生产环境中崩溃,无法访问调试器。短期内你会采取什么措施来解决这个问题?长期?你会怎么做来防止它发生?你会使用什么工具 我的想法是: 短期:Testing 软件在生产环境中崩溃,无法访问调试器。短期和长期应该做什么?,testing,crash,Testing,Crash,这是一个采访问题: 软件在生产环境中崩溃,无法访问调试器。短期内你会采取什么措施来解决这个问题?长期?你会怎么做来防止它发生?你会使用什么工具 我的想法是: 短期: 跟踪操作系统生成的程序日志文件,该文件可能会生成一些有关崩溃的信号 通过添加一些打印,缩小程序崩溃的文件范围 在可能的位置添加try catch 找出原因 长期: 检查整个程序的设计思想、算法/数据结构的使用情况,以确保它们得到正确和适当的使用 使用导致崩溃的不同案例进行测试,以找出根本原因 工具:GDB、Valgrind系列
- 跟踪操作系统生成的程序日志文件,该文件可能会生成一些有关崩溃的信号
- 通过添加一些打印,缩小程序崩溃的文件范围
- 在可能的位置添加try catch
- 找出原因
- 检查整个程序的设计思想、算法/数据结构的使用情况,以确保它们得到正确和适当的使用
- 使用导致崩溃的不同案例进行测试,以找出根本原因
- 工具:GDB、Valgrind系列、gprof
有更好的想法或解决方案吗?您有一些好的初步想法,以下是我的评论:
你有一些好的初步想法,以下是我的评论:
当您追踪到一个问题时,值得注意问题的类型(竞争条件、可伸缩性、数据库访问等)。这为您提供了一个应用更多自动和手动测试的区域。您应该做的第一件事是确定问题的严重性。这将有助于制定你的短期战略。您需要与软件中的主要利益相关者(如客户)进行一些简短的讨论,或者让项目经理这样做并向您汇报 在最激烈的时刻,这一点往往被忽视,匆忙进行短期修复几乎总是意味着浪费大量时间,而不是真正理解需要做什么 在此之后,您的实际战略(长期和短期)相当依赖于您使用的技术及其部署方式 短期 在试图解决问题之前,获取一些关于崩溃的初步信息、获取日志文件、截图、记录系统信息(如内存/CPU使用情况)、归档任何可能有用的临时数据是绝对重要的 短期的行动应该是让系统快速启动并重新运行。短期解决方案的一些常见方法:
- 尝试关闭它,然后再打开。。。说真的,今年90%的时候 将在短期内恢复生产,至少在 这个错误再次出现李>
- 恢复到以前的生产 发布,最好是已知运行正常的最新版本 可靠地李>
- 在另一台计算机上运行第二个实例,并在以下情况下进行故障转移 问题再次出现。这有额外的好处,我