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

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

纯闲聊性质。

第二部分,依赖关系

从类型上分为

  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调试课笔记之第四单元追根溯源

时间: 2024-11-07 00:38:26

Udacity调试课笔记之第四单元追根溯源的相关文章

七月算法--12月机器学习在线班-第四次课笔记—凸优化

七月算法--12月机器学习在线班-第四次课笔记—凸优化 七月算法(julyedu.com)12月机器学习在线班学习笔记 http://www.julyedu.com

七月算法-12月机器学习在线班--第十四次课笔记—EM算法

七月算法-12月机器学习在线班--第十四次课笔记-EM算法 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com ? EM Expection Maxium 期望最大化 1 引例 1000人,统计身高,1.75,1.62,1.94,有多少男女,每个身高对应的男女 ? 1.1 如何算?利用极大似然估计,估算均值和方差 上述结论和矩估计的结果是一致的, 即:样本的均值即高斯分布的均值,样本的伪方差即高斯分布的方差. 如果是高斯分布,就可以这么用本

udacity android学习笔记: lesson 3

udacity android学习笔记: lesson 3 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Markdown/an

udacity android 学习笔记: lesson 4 part b

udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文採用下面协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Mar

七月算法12月机器学习在线班---第二十次课笔记---深度学习--RNN

七月算法12月机器学习在线班---第二十次课笔记---深度学习--RNN 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com 循环神经网络 复习之前的知识点: 全连接前向网络: 学习出来的是函数 卷积网络:卷积操作,部分链接,共享操作,逐层提取原始图像的特征(语音,NLP) 学习出来的特征 局部相关性 浅层宽网络很难做成神经网络 ? 1.1状态和模型 1, ID数据 ·分类问题 ·回归问题 ·特征表达 2, 大部分数据都不满足ID ·大部分

OO第四单元总结~~

紧张刺激的一学期OO课程结束了,咸鱼们留下了悲喜交加的泪水.在说这整个学期的OO感想之前,先总结一下第四单元学到的知识. 一.第四单元总结 这一单元我们学习了UML有关的内容. 首先是理论课学习了什么是类图,类与类之间都有什么关系,怎样在类图中进行体现.实验课学习了如何使用StarUML绘制UML图. 第一次作业只有关于UML类图的查询,但是这一部分我认为实现的难度还是很大的.主要是第一次接触这样的作业,对于UmlElement解析出来的各个元素里所包含的各个内容都不是很了解,所以这两次的作业都

udacity android 学习笔记: lesson 4 part a

udacity android 学习笔记: lesson 4 part a 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Mar

OD调试学习笔记7—去除未注册版软件的使用次数限制

OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需要你掏腰包来获得更多的功能或者解除限制.那么我们就可以逆向的来思考,如果该程序成功的注册后,那么程序的行为必将发生变化,如NAG去除了,如功能限制没有了等等.也就是说,程序的代码的走法也会跟未注册的时候截然不同.因为程序的行为改变了,那么决定它所有行为的代码走法也会发生变化. 二:认识OD的两种断点

汇编入门学习笔记 (十四)—— 直接定址表

疯狂的暑假学习之  汇编入门学习笔记 (十四)-- 直接定址表 参考: <汇编语言> 王爽 第16章 1. 描述单元长度的标号 普通的标号:a,b assume cs:code code segment a:db 1,2,3,4,5,6,7,8 b:dw 0 start: mov si,offset a mov di,offset b mov ah,0 mov cx,8 s: mov al,cs:[si] add cs:[di],ax inc si loop s mov ax,4c00h in