调试时底层次思考的重要性
低层次思考,我指的是从应用程序内部思考的重要性,有时是在机器代码级别。
大多数人认为,要知道如何调试应用程序,只需要学习如何使用调试器。但事实上,学习如何使用调试器只是解决复杂软件问题所需的一部分。因此,我觉得有必要解释在处理应用程序问题(如挂起、崩溃、内存泄漏、应用程序错误和性能问题)时,低层思考是多么重要。
调试和故障排除
有些人认为调试和故障排除是一回事。其他人认为:
调试:使用调试器进行的低级软件分析,涉及深入软件内部。
故障排除:使用其他工具分析日志/跟踪 ,通常在需要调试之前所做的事情。
调试的难度是编写代码的两倍。因此,如果您尽可能巧妙地编写代码,那么根据定义,您还不够聪明,无法调试它
什么情况需要调试
1、隔离问题
如:
- 高CPU挂起
- 低CPU挂起
- 撞车
- 内存泄漏
- 性能问题
- 应用程序错误
2、用于执行根本原因分析时调试
调试时底层次思考
- 高层思维=架构,大局
- 底层思维=过程内部,有时是机器代码级
为虫子生,为虫子死,为虫子奋斗一辈子