請問為啥無法停留在Break Point作Debug |
尚未結案
|
dky
一般會員 發表:12 回覆:30 積分:13 註冊:2004-06-24 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
重新開一個新project,然後把unit copy 過去,然後加入,然後重新build一次看看。
bcb類似這樣就常常可以ok。我不知delphi裡有沒有一個叫tds檔,如果有,那就先刪了它再build,不行的話再開新project。 以上的前題是你已正確的把 bp 標在有作用的行上,但確無法跳入。換言之,若你的bp標的位置本來就是到不了,那就另當別論了。
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
Hello, 不是任何一行都可以設中斷點,我試過在 begin 那一行設中斷點,就是不能設,一定要在 begin 下面,因為 begin 不算是程式碼。
===================引 用 dky 文 章=================== 我一個專案中, 其他的Form都可以用Break Point逐步debug, 但有一個Form很怪, 突然就不行, 設了Break Point也不會停, 直接變綠色的無作用, 請問有人知道是啥問題嗎, 因為沒辦法用Break Point來Trace粉麻煩哩? |
dky
一般會員 發表:12 回覆:30 積分:13 註冊:2004-06-24 發送簡訊給我 |
感謝您的回答, 但是小弟我不會犯這種錯....^_^
同一Pas, compile後, 每一行可Trace的有效code, 在編輯區的最左邊會有一個藍色小點, 現在很怪的是, 有些竟然沒有, 即使有的, 設了Break Point了, 在執行也不會停在那行, 有些則是F9後, 原本紅色的BP列變綠色. 目前同一專案中, 只有一個pas有這狀況, 我想應該跟這pas列數較多沒關.....吧??(也不過近2萬行而已) 目前這pas無法trace粉頭痛哩, 請各位先輩或有遇過的朋友可以交流一下~~ 另一位網友所提的, New一個專案再把pas加進去我試過了一樣狀況哩~~ ===================引 用 cancer 文 章=================== Hello, 不是任何一行都可以設中斷點,我試過在 begin 那一行設中斷點,就是不能設,一定要在 begin 下面,因為 begin 不算是程式碼。 ===================引 用 dky 文 章=================== 我一個專案中, 其他的Form都可以用Break Point逐步debug, 但有一個Form很怪, 突然就不行, 設了Break Point也不會停, 直接變綠色的無作用, 請問有人知道是啥問題嗎, 因為沒辦法用Break Point來Trace粉麻煩哩? |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,
那些"怪點"是否是呼叫外部的dll或lib裡的函式呢? ===================引 用 dky 文 章=================== 在編輯區的最左邊會有一個藍色小點, 現在很怪的是, 有些竟然沒有, 即使有的, 設了Break Point了, 在執行也不會停在那行, 有些則是F9後, 原本紅色的BP列變綠色.
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
In following screenshot you will see 3 kinds of code that Delphi will not compile it into binary. There's also another kind of problem is, Delphi did not really compile the pas because of exists dcu file, you can delete all dcu file then re-compile again.
===================引 用 dky 文 章=================== 感謝您的回答, 但是小弟我不會犯這種錯....^_^ 同一Pas, compile後, 每一行可Trace的有效code, 在編輯區的最左邊會有一個藍色小點, 現在很怪的是, 有些竟然沒有, 即使有的, 設了Break Point了, 在執行也不會停在那行, 有些則是F9後, 原本紅色的BP列變綠色. 目前同一專案中, 只有一個pas有這狀況, 我想應該跟這pas列數較多沒關.....吧??(也不過近2萬行而已) 目前這pas無法trace粉頭痛哩, 請各位先輩或有遇過的朋友可以交流一下~~ 另一位網友所提的, New一個專案再把pas加進去我試過了一樣狀況哩~~ ===================引 用 cancer 文 章=================== Hello, 不是任何一行都可以設中斷點,我試過在 begin 那一行設中斷點,就是不能設,一定要在 begin 下面,因為 begin 不算是程式碼。 ===================引 用 dky 文 章=================== 我一個專案中, 其他的Form都可以用Break Point逐步debug, 但有一個Form很怪, 突然就不行, 設了Break Point也不會停, 直接變綠色的無作用, 請問有人知道是啥問題嗎, 因為沒辦法用Break Point來Trace粉麻煩哩?
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
|
dky
一般會員 發表:12 回覆:30 積分:13 註冊:2004-06-24 發送簡訊給我 |
您好, 我已在一個新資料夾中開新專案, 並將所需表單 (只copy .pas及.dfm)過去加入專案compile, 結果一樣.
在FormCreate中加了行BP測試, 有顯示紅色, 但執行時卻不會停留.如下. procedure TfrmCustomer.FormCreate(Sender: TObject); var i: SmallInt; begin sbF4801.VertScrollBar.Position := pnlF4801_01.Height; BitBtn68.Caption := '確 認'; sbF4801.Tag := 2; Exit; end; if ckbIsExchangeBranch.Checked and (rg_F4801_02.ItemIndex = 0) then //lbHaveExchange.Visible then begin if MaskEdit18.Text = '00000000' then begin MaskEdit18.SetFocus; MaskEdit18.SelectAll; Exit; end; end; ===================引 用 aftcast 文 章=================== 嗯,我原來的想法也是與coffee的想法一樣,所以請他開新專案在重build。(除非樓主把新專案還是開在同個目錄裡? 應該不會吧!) |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
快不知該怎麼回了… 最後我依我記憶中的一些印象 : 「有些時候是因為在中斷前就發了一些異常,而造成根本不會進去」。
最後再試一招,那就是在不能中斷的更上層的地方去中斷,我delphi忘很多了,delphi裡應該也有個類似Application.CreatForm的地方,即project檔的開頭地方…從那裡一路追下去,應該可以得到一點點的線索
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
dky大大,我以前好像也有類似情形,可以設中斷點,但執行時會自動略過。
我是用 delphi 2006,怎麼都查不出來,最後出絕招,把原始碼全選複製,貼上記事本,觀察有沒有小小的四方塊亂碼,有可能是跳行字元 #13#10 少掉其中一個,如果有,就是不合法的字元,清空所有小方塊,有須要的話按 Enter 換行,最後全選複製,再貼回來原始檔裡面。 #13#10 少掉其中一個,就視為沒有跳行,五、六行的程式碼會視為一行,Trace 的時候,一下子就跳過五、六行。 原始碼記得先備份哦 !!!!!
編輯記錄
cancer 重新編輯於 2011-05-05 05:37:00, 註解 無‧
|
smallfox
高階會員 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
|
kevin2004
資深會員 發表:18 回覆:463 積分:416 註冊:2005-05-29 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
wsx1688
一般會員 發表:0 回覆:0 積分:0 註冊:2024-04-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |