DEBUG经历
在两年有余的学习生活中,我不仅在课堂上学到了很多东西,我也在一次次的错误中得到了宝贵的经验和教训。Bug和debug,构成了我生活中不可或缺的一部分。
我在编程中犯过的错误很多,无法一一阐述,再次说一个近期编程遇到的bug。
程序差不多长这样:
int main()
{
blablabla准备工作;
F(blablabla参数);
输出F计算的结果;
return 0;
}
跑了一下,结果不对。于是在调用F之前插入了一条printf,把调用前的准备状态打出来看看对不对。结果,不仅准备状态是对的,结果也变成对的了。然后把那行插入的printf注释掉,结果就又是错的了。
为了验证我真的除了打印啥也没干,把插入的句子改成了printf("a"); 结果 —— 就多出来这个a,之后打印的结果又变成对的了。
把这句printf("a");移到F之后、之前但是中间隔一行语句、放到F内部,结果都是错的…… 唯独放到F的前面一行,结果就神奇地正确了。
最后发现其实bug是发生在F的内部。F内部有个用于累加的变量忘了初始化,没置0就直接做”=”了。
DEBUG经历的更多相关文章
- 记一次难忘的排错debug经历(找了5天左右)(涉及内存覆盖)
strcpy和memcpy都没有处理内存覆盖问题. 函数描述 The memcpy function copies count bytes of src to dest. If the source ...
- 记一次有关GET/POST请求的Debug经历
Bug描述: 电商网站, 产品列表页面,加入购物车按钮,当连续点击“加入购物车”按钮时,在MAC上的Safari上,只会有部分请求通过 Ajax 被发送出去,而在 Chrome/IE/Firefox ...
- 记录一次gdb debug经历
目录 问题描述 查看core文件 使用gdb查看core文件 总结 问题描述 今天在写代码时,运行时奔溃了.segment fault,而且是在程序退出main()函数后,才报的. 唯一的信息是:Se ...
- 关于llvm kaleidoscope: 记一次Debug血泪之路
简而言之,慎(bu)用(yong)全局变量! 这次debug基本上花了我一周的时间,我基本上是晚上9点30下自习回然后调试到11点30,如此反复一周直到今天周五终于解决了,,以前都听说前辈们 说尽量不 ...
- [DEBUG] QAT Nginx for docker 部署时"--with-ld-opt"出错
layout: post title: [DEBUG] QAT Nginx for docker 部署时"--with-ld-opt"出错 subtitle: 记一次debug经历 ...
- 2015 NI 校招笔试机试面试
美国国家仪器NI也算是入驻上海很好的一家外企了,它是我们院的合作公司,加上今年NI在我们院扩招实习生,这次是一个难得的机会可以进入NI实习,可惜我并没有好好把握... 一.笔试 几个做错的印象特别深刻 ...
- [2017BUAA软工]第零次博客作业
第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...
- SSM项目问题中遇到 ArrayList添加元素的问题
记录项目开发中 一次有趣的debug经历 本来是在做单元测试的,但是发现如下代码 有问题.. ProductCategory p = new ProductCategory(); for (int i ...
- BZOJ2653:middle——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2653 Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2], ...
随机推荐
- 低版本IDE 打开 高版本 IDE 代码时 unit
可以用单元别名 比如Vcl.Forms=Forms 来兼容.
- throw与throws
throws可以单独使用(一直上抛) throw要么和try-catch-finally语句配套使用,要么与throws配套使用 /** * 总结: * 1.throws是方法抛出异常.如: p ...
- 大数据面试题——如何找出访问最多的IP
问题描述: 现有海量日志数据保存在一个超大的文件中,该文件无法直接存入内存,要求从 中提取某天访问BD次数最多的IP 分析解读: 由于这个题目只关心某一天访问次数最多的IP,因此可以首先对文件进行一次 ...
- pandas 常用技巧总结
切片: loc:df.loc[num]:选择df 某一行 seriesdf.loc[[num1,num2]]: 选择df 某几行df.loc[[True,False,True, ,True]]: ...
- php短信验证码接口接入流程及代码示例
对于绝大部分企业来说,所使用的短信验证码接口都是第三方短信服务商所提供,目前市场上短信服务商有很多,在此向大家推荐一家动力思维乐信,运营13年,值得信赖! 就拿动力思维乐信短信验证码接口为例,详细介绍 ...
- Exception、Thorow、Throws、TryCatch
一.异常 概述: 异常指的是不正常,指的是程序中出现了某种问题 java中,所有问题都可以使用一个类来表示,这个类叫做Throwable Throwable: Throwawble是java中所有异常 ...
- 自己设置 WiFi
不想安装免费WiFi? 简单,一行命令搞定 首先,打开你的 cmd 面板, 然后敲出命令: netsh wlan set hostednetwork mode=allow ssid=wifi key= ...
- spring cloud微服务下手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 这里使用的场景是,跨服务调用接口,比如:用户信息和用户积分 ...
- 从0到1用eclipse用maven搭建web项目
1,默认已经搭建了JDK1.5以上,以及eclipseEE版本,和maven. 2,修改maven的本地仓库和镜像,修改本地仓库是为了方便我们管理,maven的默认仓库是在C盘的USER文件夹下,我一 ...
- 对低开销的静态组件使用v-once
<body> <div id="app"> <terms-of-service></terms-of-service> </d ...