作者a3785lexx (Alex)
看板EE_DSnP
标题[请益] 作业1.2第一题DDD显示变数的问题
时间Fri Oct 2 19:01:35 2009
呃...其实我也不想要这样连续发问...
只是作业1.1写不出来,就只好先去写作业1.2了
没想到,作业1.2也这样卡住了@@"
事情是这样的,我根据题目的指示使用DDD来debug
就在作到第一题的第e小题时
就发生囧事了
题目要求要先从程式停止的位置up上去
然後显示变数idx和iBegin的值
但是
我一up上去
要让DDD显示idx和iBegin的值时
就出现错误讯息了
"No symbol "iBegin" in current context."
而且,在前面子题中display出来的_num在up完之後也不见了
但是down回去之後就可以显示了
这是怎麽回事呢@@?
我关了DDD重新complie过permute-err1也没有用
他就是不肯显示变数呢...
顺便一问,我的breakpoint在line 102上,可是程式却停在line 106上
而且,line 106是int idx = iBegin;
可是我在pointer指在line 106时
显示idx和iBegin,他们的值却不一样...
这样是正常的吗??
恳请强者老师/同学赐教<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.111.177
1F:推 ric2k1:1. 确定一下 ddd 开的执行档的确是你新 compile 出来的 10/02 20:40
2F:→ ric2k1: 执行档 10/02 20:40
3F:→ ric2k1:2. Local variables 只能在 local scope 显示, 显然你已经 10/02 20:41
4F:→ ric2k1: 跳出 local scope. 这个问题应该是由 1 造成的... 10/02 20:41
5F:→ ric2k1: 我是指 pointer 与 实际执行的行数不一致的问题 10/02 20:42
6F:→ a3785lexx:恩!DDD开的是我新compile出来的没错 10/02 20:50
7F:→ a3785lexx:我还砍掉重compile了好几次... 10/02 20:50
8F:→ a3785lexx:这一题我按照题目的方式操作,在d小题中要up一次 10/02 20:51
9F:→ a3785lexx:所以我就从permute up到了main里 10/02 20:51
10F:→ a3785lexx:这样显示idx和iBegin就是不可能的事情了吗? 10/02 20:52
11F:→ a3785lexx:所以如果不能显示,我就要回答"无法显示"吗? 10/02 20:53
12F:→ a3785lexx:还是其实我有甚麽地方出错了所以才造成这种结果囧rz... 10/02 20:53
13F:→ a3785lexx:我发现这个程式我用step一步一步的跟踪 10/03 00:01
14F:→ a3785lexx:在permute的base condition下的cout都不会被执行@@" 10/03 00:01
15F:→ a3785lexx:这到底是怎麽回事呢...我越来越糊涂了orz 10/03 00:01
16F:→ a3785lexx:DDD的pointer确确实实的走过base case的每一行 10/03 00:02
17F:→ a3785lexx:可是却一个cout都没有产生效果@@"... 10/03 00:03
18F:→ a3785lexx:多玩了一下,发现只要breakpoint不是下在return;和} 10/03 00:10
19F:→ a3785lexx:这两行上,couts就都会执行...越来越玄妙了orz 10/03 00:10
20F:推 Neilhahaha:碰到一模一样的问题= ='' 10/04 11:58
21F:→ skyjason:遇到一样的问题..+1 10/04 12:08
22F:推 Neilhahaha:感觉教授是要停在return执行之前 但是直接输入b 102它 10/04 12:11
23F:→ Neilhahaha:会先return跳到106行 跑到recursive case 去了 10/04 12:12
24F:→ Neilhahaha:然後UP以後就会跳到Main所以看不到variable 10/04 12:13
25F:→ Neilhahaha:不知道是不是我哪里搞错了= = 10/04 12:14
26F:推 Neilhahaha:重新compile也一样.. 10/04 12:20
27F:推 ric2k1:b 102 应该会在 return 执行之前停下来吧? 10/04 12:52
28F:→ ric2k1:你的 102 行是哪一行? 在 vim 跟 ddd 看到的是一样的吗? 10/04 12:56
29F:推 Neilhahaha:102是return;那行 两个都是一样的 10/04 13:18
30F:推 Neilhahaha:顺便问个小问题= ='' DDD要怎麽显示行数阿? 10/04 15:26
31F:推 ric2k1:行数不就显示在 source code window 的边边吗? 10/04 15:55
32F:推 Neilhahaha:找不到行数耶.. 还有就是输入b 101的话他会停在101前 10/04 16:23
33F:→ Neilhahaha:而b 102会停在106 10/04 16:24
34F:推 ric2k1:真奇怪, 方便让我帮你看看吗? 10/04 16:41
35F:推 kevin60105:同样问题 +1 10/04 16:58
36F:推 richard12228:同样问题+1 10/04 17:04
38F:推 dryman:b 102会跑到106 +1 10/04 17:36
39F:推 ric2k1:有人方便明天带笔电来给我看看吗? 如果没有台风的话... 10/04 17:36
40F:推 davidkid:同样问题+1 10/04 22:24
41F:推 ric2k1:太好奇了, 到底是发生什麽事呢? 10/04 22:43