Udacity调试课第五单元错误重现
2014-05-24 11:19
393 查看
定义
为什么需要重现
对运行过程进行观察,按需试验,才能将缺陷隔离出来。
只有能将错误重现,才能证明最终修复了这个漏洞。
分类
以下错误好像都来自物理学
波尔错误
A repeatable bug; one that manifests reliably under a possibly unknown but well-defined set of conditions 来自物理学 一个可重复的错误。就是说状态未知,但可能出错的状态有限、每一种状态都有定义。
海森错误——海森伯格是名字,也是错误? 物理学的测不准定理。试图研究、隔离出来进行分析时,错误就消失或改变了行为。
蒙代尔错误Mandel 起因复杂隐晦,行为接近于随机
薛定谔错误 他的猫实验。这种错误很难显形,只能从代码中分析出来,或程序以非常规方式运行才可能发现这种不该出现的错误。
如何重现
条件 -- 输入数据
环境
重现错误的步骤
数据分类
静态数据
最简单,因为文件储存良好,受控。不过要注意数据的安全性,隐私数据不要被人看到了。 可以考虑扩展
文件调用的序列
结构化数据——比较复杂的数据结构
返回值
全局变量
调用函数(可能只要记录部分)
用户交互
捕捉-回放工具
时间
随机
操作环境
调度
物理条件
调试工具
统计相关
通过统计出错和不出错的执行情况,分析出哪些特征会影响到程序的执行。比如某个函数,某行代码,某个变量值
使用phi相关系数
phi = n11 * n00 − n10 * n01/sqrt((n10 + n11) * (n01 + n00) * (n10 + n00) * (n01 + n11))
为什么需要重现
对运行过程进行观察,按需试验,才能将缺陷隔离出来。
只有能将错误重现,才能证明最终修复了这个漏洞。
分类
以下错误好像都来自物理学
波尔错误
A repeatable bug; one that manifests reliably under a possibly unknown but well-defined set of conditions 来自物理学 一个可重复的错误。就是说状态未知,但可能出错的状态有限、每一种状态都有定义。
海森错误——海森伯格是名字,也是错误? 物理学的测不准定理。试图研究、隔离出来进行分析时,错误就消失或改变了行为。
蒙代尔错误Mandel 起因复杂隐晦,行为接近于随机
薛定谔错误 他的猫实验。这种错误很难显形,只能从代码中分析出来,或程序以非常规方式运行才可能发现这种不该出现的错误。
如何重现
条件 -- 输入数据
环境
重现错误的步骤
数据分类
静态数据
最简单,因为文件储存良好,受控。不过要注意数据的安全性,隐私数据不要被人看到了。 可以考虑扩展
文件调用的序列
结构化数据——比较复杂的数据结构
返回值
全局变量
调用函数(可能只要记录部分)
用户交互
捕捉-回放工具
时间
随机
操作环境
调度
物理条件
调试工具
统计相关
通过统计出错和不出错的执行情况,分析出哪些特征会影响到程序的执行。比如某个函数,某行代码,某个变量值
使用phi相关系数
成功 | 失败 | 总数 | |
---|---|---|---|
覆盖 | n11 | n10 | |
未覆盖 | n01 | n00 | |
总数 |
相关文章推荐
- Udacity调试课笔记之第四单元追根溯源
- 用IIs调试程序可用的检查错误方法
- VS.NET调试.NET出现的常见错误
- 一个ASP.NET调试错误
- 调试ASP时的错误提示和VBScript 语法错误
- Base-Jsp-4-错误处理和调试
- 调试ASP时的错误提示及VBScript 语法错误
- C++程序调试错误……谢谢您的帮助
- VS.net 安装、调试的常见问题与错误
- 尝试调试 ASP.NET Web 应用程序时出现权限错误的解决方法
- VS.NET调试 ASP.NET出现的常见错误总结
- 调试 ASP.NET 应用程序时出现"无法在 Web 服务器上启动调试"的错误信息
- vs.net 2005 smartphone/Pocket PC 调试错误的处理方法。
- 在使用 ASP 客户端的 Visual Basic IDE 中调试 COM+ 组件时发生错误
- Net 下安装、调试的常见问题与错误!!!
- Net 下安装、调试的常见问题与错误
- 为什么调试时,有时能出现详细错误信息。而有时只是提示“运行时错误”,...
- VS.NET调试 ASP.NET出现的常见错误总结
- 一个ASP.NET调试错误
- VS.NET调试.NET出现的常见错误处理