跳至正文

阅读源码中的一些感悟

这段时间一直在阅读BD源码 深感自己调试技能和思路都很贫穷

现在回头看 全局变量的共享机制这个问题真的有那么复杂吗

真的需要看这么久吗 我自己给自己的答案是否定的

虽然效率非常低下 但不能说此行没有收获

好记性不如烂笔头 还是需要记一记这些东西


带着问题看源码(有目的性)

对于这次的经历来说 其实这个问题一开始就被指定好了

只不过中间又不断地进行了修正 变成了现在的这个问题

但不管怎么说 看源码是要有目的性的

如果像无头苍蝇一样找到一段逻辑就看找到一段逻辑就看

这样做效率确实不太行 所以带着问题看我觉得是比较好的

如果你并没有像我一样被别人给了问题

那么自己找一个感兴趣的方向去看是比较好的

例如说某个功能模块是怎么实现的啊 某个数值为什么能传进去


适当的猜想

我遇到很多次单句代码看得懂但是合起来就不行的情况

或是经常会绕进死胡同里无法自拔

有时候适当的猜测实现的过程也是一种好办法

这样问题就会转化为你要从代码里找到支持你猜想的证据

如果恰好你找到了这样的一个部分 那么就可以继续你的思路了

当然找不到也不要灰心 换个方向再想想吧


修改代码进行测试

这个只能具体问题具体分析了

例如说我们要证明某个数据的来源是唯一的

可能会用一个静态变量作为标识 然后看看每一次进来值会不会增加

例如我们想在其它脚本看看另一个脚本监视变量的值

可以想办法在这个脚本想办法获取到这个变量 然后在这里进行查看

总之情景和应对方法都有很多 还是需要平时积累


掌握一些调试的技巧

查找引用 查看上一级这些基本的操作是要的

然后就是创造测试用例断点查看运行

或者直接查看堆栈

这个需要对IDE的操作比较熟悉


总之阅读源码我认为还是一件非常需要技巧和经验的事情

只能说我自己代码还是看少了 需要多加锻炼

发表回复

您的电子邮箱地址不会被公开。