作者fiafju (哭哭)
看板EE_DSnP
标题Re: [问题] hw2
时间Sun Apr 5 00:25:55 2009
晚上我抱着试试的心态
用家里电脑的ubuntu试run看看(和当初写code是不同台电脑)
然後它 又crash了 == ==
我开始怀疑当初我是不是写太久
写到头昏脑胀
看到我code可以run的假象了.........
我用ddd跑
发现crash点1
它在inssertChar()里
....
*_readBufPtr = *temp;
--> cout << *_readBufPtr;
_readBufPtr++;
......
执行箭号那行时crash
在那行之前都是OK的
囧 cout有做了啥事会让code挂掉吗....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.30.93
※ 编辑: fiafju 来自: 124.8.30.93 (04/05 00:26)
1F:→ dostaevsky:*temp真的有指ㄧ个可以cout在萤幕上到东西吗? 04/05 00:31
2F:→ fiafju:有阿 跑完*_readBufPtr=*temp 後*_readBufPtr的值真的有变 04/05 00:39
3F:推 dostaevsky:有试着用ddd的"Run in execution window"试试吗 04/05 00:39
4F:→ dostaevsky:可以看到cout出来的结果 04/05 00:40
5F:→ dostaevsky:感觉会有点像真的在工作站上执行该程式 04/05 00:40
6F:→ fiafju:我用了 就是用了才知道当在哪 和 temp有丢值进_readBufPtr 04/05 00:41
7F:推 lovelylion2:temp指到不该指的地方了吧.. 04/05 00:42
8F:→ lovelylion2:cout << temp; 看看位址是不是不太对 04/05 00:42
9F:→ fiafju:感谢两位~~ 的确是temp 在搞怪 04/05 01:52
※ 编辑: fiafju 来自: 124.8.8.104 (04/05 01:55)
10F:→ fiafju:可是我用ddd看 temp在crash之前都有正常运作耶 04/05 01:56
11F:→ fiafju:也有把该存的值存进去阿 直到cout那行才炸 这是为什麽呢?? 04/05 01:57
12F:推 ric2k1:就像 HW#1.2 的 prob 1 一样, 应该是记忆体被 contaminated 04/05 02:24
13F:→ ric2k1:cout 也会吃记忆体, 所以 temp 所指到的记忆体已经无效? 04/05 02:25
14F:→ fiafju:感谢老师!! (老师好晚上站阿XDDD) 04/05 02:59
15F:→ fiafju:其实後来也有想到 这应该就是老师在hw1要给我们看的东西 04/05 03:00
16F:推 ric2k1:所以後来找到原因了吗? 可以分享一下吗? 04/06 23:44