0.使用debug查看哪些代码不能运行,是否有逻辑上的错误或者有优化的余地;
1. 未预料的编译器优化
以前调试程序时遇到的问题。先是这样写,希望将io_status 的低三位分别保存到a0/a1/a2,
a0 = (io_status << 7) >> 7;
a1 = (io_status << 6) >> 7;
a2 = (io_status << 5) >> 7;
实际测试后发现全部被优化成:
a0 = a0;
a1 >> 1;
a2 >> 2;
这显然不是期望的结果,这种问题有点隐蔽。
2. && 与 ||是否用对;
3.例如 for(i=0; i< 13; i++);中到底应该是i<13还是i<=13搞清楚;