作者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