線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:942
推到 Plurk!
推到 Facebook!

Debug 問題

答題得分者是:x803198
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-18 16:55:20 IP:61.218.xxx.xxx 未訂閱
請問我要除錯,點選中斷點時,是變紅色, 但是一執行,就變成綠色,程式根本就不跑那段,請問是爲什麼??
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-18 17:30:59 IP:211.76.xxx.xxx 未訂閱
有可能是因為本來就 run 不到    簡單說明一下 例如你宣告了一個 procedure
procedure test;
begin
  showmessage('test');
end;
但是程式中沒有任何一個地方會 call 這個 procedure, 你用 project -complie project1 時, 就會發現 showmessage 這行的旁邊沒有藍點點, 所以這行設上中斷點會是綠的. 也就是叉, 原因是因為執行不到這行啊~
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-18 18:12:32 IP:61.218.xxx.xxx 未訂閱
可是應該都會執行到才對. while not ADOQ1.eof do begin Synchronize(LstRefresh); // 設中斷點 AddRec(); // 設中斷點 Next ; // 設中斷點 end; 但是 AddRec(); 卻變綠色 這是爲什麼呢???怎摩會跳過一行不執行
x803198
一般會員


發表:8
回覆:28
積分:17
註冊:2002-12-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-19 01:34:44 IP:218.166.xxx.xxx 未訂閱
應該是編譯最佳化的關係.. 當最佳化被勾選時,有些程式碼被判斷無意義時就不會被編譯進去 所以也無法中斷..像是 i := i; Delphi 是很聰明的
系統時間:2024-05-20 22:48:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!