161203

来源:互联网 发布:小米路由器dmz端口 编辑:程序博客网 时间:2024/05/06 08:58

1625-5    王子昂    总结《2016年12月3日》  【连续第64天总结】

A.shell视频 0%

B.今天在杭州跑了一天_(:з」∠)_

回来很晚了于是又没空看视频了

果然周末没啥时间学习(。

还是平常好好学习周末好好玩耍得了(((

帮学长解决了一个BUG。

虽然不会用单步调试和实时查看变量值,但是灵活的使用cout语句来侦测判断错误的位置和大致情形还是有必要的。

打完上面这句话就觉得不会用单步调试好像不是值得夸耀的事情---上次明明说过要学习一下CB的调试功能。

遂百度了一发,参照教程调试了一下学长的错误程序。

然后,试了很多次都直接报错“Program received signal SIGSEGV,Segmentation fault”。然后就异常终止了。

在明确知道是变量手误打错导致死循环的情况下,对相应的变量值进行侦测却并没有看到想要的结果,而是每次在刚进入for循环的时候就报错。

那么按照这个错误信息,接着去百度。

得到更多的新知识:段错误。

段错误的意思就是指程序访问的内存超出了系统所分配的空间。

对于一个程序,系统只会分配一定量的空间,因此若发生了死循环,CPU就会自动发生异常保护来避免死机等严重错误。

除此以外,还有访问的变量的地址超出了给定空间导致试图往受系统保护甚至是不存在的内存区域写值的情况,也会导致段错误。

在明白原理的前提下,使用断点在循环内进行调试,每次循环都会报告段错误,但总归是能够侦测到变量值的变化了。

╮(╯_╰)╭然而我还是觉得用cout在关键位置进行输出变量值比较方便。虽然在关键变量比较多时会很麻烦。

C. 明日计划

明天还在玩儿来着~

计划的话……回去做一份英语卷子吧。

shell视频就看时间吧√

0 0
原创粉丝点击