2015-07-04 58 views
0

德爾福7我不能夠調試我的應用程序的一半代碼在我的Delphi 7表格單元,因爲它沒有顯示在左側裝訂線藍點調試,不能達到任何破發點的時候我跑我的應用程序..Delphi 7中不能使用斷點

+0

請添加一個屏幕截圖或更多。 – Envil

+0

在這裏工作很好。你的情況有什麼不同? –

+0

如果您從斷點管理器添加斷點 - 它們是否工作?你檢查了[CRLF bug](http://stackoverflow.com/a/7935522/1254172)的文件嗎? –

回答

0

你解釋它的方式 - 如果一個單位有一些可用的斷點,但其他人沒有,那麼它聽起來就像是代碼不可達/未使用。 Delphi編譯器足夠聰明,它不會編譯任何它檢測不到的代碼。如果它不能編譯,那麼就沒有辦法在那裏使用斷點。

+0

是MartynA只爲這個特定的項目我卡住你有我的觀點,我卡在哪裏..你有這種問題的任何解決方案作爲 –

0

這是不大不小的解決辦法,但它的工作原理。

  • 構建應用程序;
  • 刪除生成的exe文件,以確保它將被重新創建;
  • 選擇您的所有代碼並將其粘貼到記事本中;
  • 將你的「空白」文件保存到Delphi中;
  • 選擇記事本中的所有文本;
  • 再次粘貼到Delphi文件並保存;
  • 重新構建您的應用程序;

我有一個特殊字符粘貼到我的源代碼中的同樣的問題。

如果這樣做,你仍然不容編譯只是粘貼代碼爲我們審查後。

0

不知道這是否是問題,但優化默認打開。編譯器可能會刪除代碼。在調試時,可以在編輯器中看到代碼,但斷點不會觸及已經優化過的行。

可以在項目選項>編譯器>優化關閉優化,但更好的方法是:

* Project Options > Directories/Conditionals 
* In the Conditional defines box, add "DEBUG" and click Ok 
* Return and add "NDEBUG" and click Ok 
* Now at the top of the file which you want to debug add this code: 
{$IF Defined(DEBUG)} 
    {$O-}  // Debug build 
{$ELSEIF Defined(NDEBUG)} 
    {$O+}  // Non-debug (ie. release) build 
{$IFEND} 

然後,當你要調試你可以簡單地定義構建的類型爲「調試」。在發佈之前設置爲「NDEBUG」。不知道是否它的問題,但希望有所幫助。