全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1010
推到 Plurk!
推到 Facebook!

为什么设不了断点?

尚未結案
gqlv
一般會員


發表:18
回覆:10
積分:5
註冊:2003-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-15 09:50:58 IP:218.104.xxx.xxx 未訂閱
为什么在delphi 里,有时候设了断点但程序就不认,程序执行的时候,断点的地方变成了一个 x ,这时为什么?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-15 10:07:45 IP:202.39.xxx.xxx 未訂閱
delphi 編譯器很聰明, 會做最佳化的工作 如果某行沒有用到, 它就不會將該行編譯進去 自然也就沒辦法做中斷點了 例: a := 5; 這行就不能設中斷點
var
  a,b: integer;
begin
  a := 5;
  b := 3;
  ShowMessage(IntToStr(b));
end;
-- He just never quits.
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-15 10:11:06 IP:210.61.xxx.xxx 未訂閱
gqlv您好 [Project]->[Option]->[Compiler]->[Optimization]打勾 重新編譯, 在有點的地方設中斷點 有時候中斷點為x, 在除錯時也會中斷
Theodore
一般會員


發表:11
回覆:10
積分:4
註冊:2003-05-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-16 13:13:56 IP:211.21.xxx.xxx 未訂閱
有可能是你的程式MARK 掉的部份不太正式而導致的錯誤, 例如: 用 {} 去包含要mark掉的區段... 若中間也有 // 恐怕會有問題. 解決辦法是 search 程式中所有的 { } mark 的區段, 能刪掉就刪掉, 不然就把所mark 的內容中的 // 給去掉. 這種問題對我D6 來說是家常便飯, 程式一寫過大, mark 的區段非常多, 一不小心就會造成compiler 的誤判而導致斷點無法運作.
gqlv
一般會員


發表:18
回覆:10
積分:5
註冊:2003-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-16 14:34:02 IP:218.104.xxx.xxx 未訂閱
引言: gqlv您好 [Project]->[Option]->[Compiler]->[Optimization]打勾 重新編譯, 在有點的地方設中斷點 有時候中斷點為x, 在除錯時也會中斷
现在可以了! [Project]->[Option]->[Compiler]->[Optimization]打勾 重新編譯, 开始也不要行,但在debug dcu 上打勾就可以了 可以之后再去掉勾也能跟踪!
系統時間:2024-07-05 5:37:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!