RSS   

TWed2k主機停機報告(2016-05-05 to 2016-05-07)

  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [討論] [討論]VS2015除錯模式 (已解決)   字型大小:||| 
LiuRambo
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16
我缺錢

十週年紀念徽章(二級)  

今日心情

 . 積分: 1955
 . 文章: 4714
 . 收花: 17484 支
 . 送花: 14456 支
 . 比例: 0.83
 . 在線: 1969 小時
 . 瀏覽: 11520 頁
 . 註冊: 4484
 . 失蹤: 1
#1 : 2016-9-11 11:01 AM     只看本作者 引言回覆

之前一直使用VS2008來寫VB程式 也很習慣使用除錯模式來看程式
最近換了新公司 有安裝VS2015 想說來試試看
結果卻令我非常苦惱
請看以下範例:
1:A = 3
2:FOR i = 0 to 6
3:if i = A then
4:  exit FOR
5:endif
6:NEXT

以2008來跑偵錯
順序會是1->2->3->5->2->3->5->2->3->5.......->6

可是當我用2015時
順序卻不一定是照邏輯上要略過4
反而可能是1 2 4 1 2 4
我之所以說可能 是因為看到幾個迴圈都不是一致性
然後奇怪地當迴圈執行中 明明看到i已經是等於3了 但卻沒有進入4去執行
反而繼續跑到迴圈結束(重點是沒有依照3的指令進入4)
害我多花了一天的時間抓到這奇怪的事情
後來解決方法 竟還是拿2008來執行
結果一切正常!!!

是我太笨不會用VS2015嗎
用了幾天發現以寫作環境其實很方便好用的勒
換回2008還真是也點不習慣

[LiuRambo 在  2016-9-16 12:47 PM 作了最後編輯]


相關關鍵字: VS  除錯  偵錯  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
陽だまり
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15
ささらの可愛さは異常

 . 積分: 1328
 . 精華: 1
 . 文章: 3159
 . 收花: 10372 支
 . 送花: 26639 支
 . 比例: 2.57
 . 在線: 4507 小時
 . 瀏覽: 30268 頁
 . 註冊: 4697
 . 失蹤: 19
 . 星の彼方
#2 : 2016-9-11 11:59 AM     只看本作者 引言回覆

不太了解上面的1、2、3、5是怎麼得來的
是指要傾印出i嗎

如果是的話,假設把傾印放在next上面的話
應該是i應該是0、1、2才對
因為i為3時,等於A,就會離開for迴圈了不是



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Adsmt
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16
大頭大頭,寒流不愁。你有綿被,我有毛頭。

 . 積分: 2124
 . 文章: 2878
 . 收花: 19802 支
 . 送花: 17912 支
 . 比例: 0.9
 . 在線: 4279 小時
 . 瀏覽: 18783 頁
 . 註冊: 4393
 . 失蹤: 0
#3 : 2016-9-14 03:20 AM     只看本作者 引言回覆

因為 compiler 會最佳化,你迴圈內沒東西,所以就沒進去了。
事實上這個程式被最佳化後可能完全沒有跑就結束了,你試著中間做一些事再看看。

舉例來說吧,像下面這個程式:
a=0
for i=1 to 5
  a++
next
print a

被最佳化後會變成:
a = 5
print a

迴圈整個不見了。這個在做動畫的時候就可以感受到了,例如你要用迴圈慢慢改變座標來移動一個圖形,結果會發現它只會把圖形印在最後的位置,不會有你預期中慢慢移動的效果。

在compiler設定那邊應該可以取消最佳化,應該就能看到你想要的結果。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
LiuRambo
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16
我缺錢

十週年紀念徽章(二級)  

今日心情

 . 積分: 1955
 . 文章: 4714
 . 收花: 17484 支
 . 送花: 14456 支
 . 比例: 0.83
 . 在線: 1969 小時
 . 瀏覽: 11520 頁
 . 註冊: 4484
 . 失蹤: 1
#4 : 2016-9-15 11:36 PM     只看本作者 引言回覆

找到原因了

因為原本專案一直都是由一人處理
現在多了我 環境完全不同 元件等都需要處理
所以一堆錯誤導致無法在我電腦上作專案建置
然後當程式進入除錯模式時 眼前所看到的程式行與實際執行的還是遠端電腦debug目錄下的程式就完全不相符合
所以才會出現許多不能理解的怪異狀況
當我將所有錯誤全部排除後 將發布路徑設定在我單機 然後重新建置專案成功
除錯模式就完全正常了



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2017-5-24 12:48 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.018574 second(s), 6 queries , Qzip disabled