码迷,mamicode.com
首页 > 其他好文 > 详细

Udacity调试课笔记之第四单元追根溯源

时间:2014-05-25 18:14:16      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:style   c   a   color   使用   数据   

第一部分,归纳、推演的艺术

纯闲聊性质。

第二部分,依赖关系

从类型上分为

  1. 控制流依赖关系, 即控制变量值变化的if,while等控制语句
  2. 数据流依赖关系, 即变量值的变化

从方向上看,则分为

  1. 反向依赖。哪些语句会影响这一句的执行。比如,if里的语句就必须先满足if的条件,这是逆向依赖性。
  2. 正向依赖。这一句会影响到后面哪些语句的执行。

从状态就分为

  1. 静态,静态代码分析的结果
  2. 动态,动态日志加原静态依赖关系

不得不说依赖关系这部分确实没什么可说的

第三部分 逆向推导理论

嗯,真的只是理论

镇宅法宝就是 delta调试法–虽然从练习上来说,练习中delta调试法的使用和我想的一点都不一样,感觉和视频里讲的也不一样。

基本思想

  1. 在规定时间,规定地点交待事情,不对,是修改变量的值,修改后,程序继续运行却不会出错,这样我们就找到了一个失败的起因。
  2. 某个执行失败的变量,将值改成执行成功时的值,则这个变量就是失败的起因了。

好吧,第2条是对第1条的补充,不该算作两条。

自动化的基本思想

  1. 在规定地点(指定的代码行上),获取成功、失败的两次执行的状态
  2. 比较两次执行状态,得到差别的集合,即值不同的变量
  3. 使用delta调试法,从这个集合中找出影响测试的最小子集(这里老师又改成使成功的变失败了,能理解,但之前没注意到这里。)

本单元的练习只是求某个或某几个手工指定的时间、地点的最小子集,还没有要求去求出完整的因果链。

不过,可惜的是后面他就没再讲怎么求完整因果链了,本单元2/3课时介绍的内容等于一点都没用上。

原本是用markdown 写笔记的,看来想转到csdn上还是不方便——放github上,估计没什么访问,死要面子活受罪说的就是我了。

Udacity调试课笔记之第四单元追根溯源,布布扣,bubuko.com

Udacity调试课笔记之第四单元追根溯源

标签:style   c   a   color   使用   数据   

原文地址:http://blog.csdn.net/sndnyangd/article/details/26850837

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!