方法论
当我们遇到问题,应该怎么办?这不仅应用于程序开发,也是我们在生活中遇到问题的时候,应该想的事儿,怎么办!趁着此次机会,我好好想了七秒钟。
- 先问是不是问题,如果不是就不用解决了
- 如果确实是问题,那就得先找到问题出现位置,也就是定位问题。怎么定位呢?缩小问题范围是一个办法
- 定位问题后,就得分析问题
- 最后,解决问题
也就是:问题->定位->分析->解决。我觉得吧,这些步骤,在程序开发中得调试,也是非常有趣的实践方法。
程序开发调试
软件开发过程中,总是经常出现不如意的结果,这个时候就要调试。 并且调试在软件生命周期中,会占用大量的时间,拥有非常大的时间跨度。
出现问题的现象很多,出现的阶段和种类也很多,比如编译阶段出错了,这时候就看编译报错信息就好了。这种错误一般容易解决。软件运行阶段异常了,这时候就需要寻找问题了。
可以通过点灯或者打印确定程序执行流程,得出执行在哪一部分出问题了。
可以通过打印变量等,来查看自己怀疑的点。以上都是比较简单的调试方法。
更多时候,我们更愿意使用调试工具,比如keil调试,gdb调试,jlink调试。可以查看执行流程,函数调用关系,栈信息,全局变量等。
OneOS与调试
上述说明了常见的调试,对OneOS专有的调试组件产生了很多好奇,毕竟调试占据了开发者大量的