[英]Is there a way to enable Debug DCUs without including the System unit?
在Delphi中使用調試DCU非常好,除了系統單元在方法初始化/清理(釋放接口,清除數組,行走異常幀等)時增加了很多開銷。
有沒有辦法用調試DCU運行Delphi,但沒有系統單元?
啟用調試DCU時,您所做的只是更改DCU搜索路徑。 特別是在搜索.dcu文件時使用Debug DCU Path選項指定的路徑 。
因此,您可以創建一個新目錄並將其添加到“調試DCU路徑”選項中的路徑列表的前面。 在該目錄中放置不包含調試符號的標准System.dcu。
...\\Embarcadero\\RAD Studio\\10.0\\lib\\win32\\debug\\System.dcu
...\\Embarcadero\\RAD Studio\\10.0\\lib\\win32\\release\\System.dcu
to ...\\Embarcadero\\RAD Studio\\10.0\\lib\\win32\\debug\\System.dcu
System.dcu
文件。 重復其他平台:將win32
替換為其中任何一個,具體取決於您運行的Delphi版本。
android
iosDevice
iossimulator
osx32
win64
編輯2:
重復其他支持的語言而不是英語:用debug\\##
替換debug
和release
,並為你想要使用的每種語言##
release\\##
。
目前支持的語言我知道:
de
(德國) fr
(法文) jp
(日文) 編輯:
這種方式運行良好,即使安裝順序混淆了您在Delphi XE / XE2時代不止一次發生的搜索路徑。
它適用於平台的release
與debug
分支中的任何單元。
編輯3:
如果您的Delphi版本沒有遭受庫路徑覆蓋,那么您可以使用Davids建議執行以下步驟:
$(BDSLIB)\\$(Platform)\\nodebug;$(BDSLIB)\\$(Platform)\\debug\\$(LANGDIR);
到Delphi Debug DCU Path。 $(BDSLIB)\\$(Platform)\\release
$(BDSLIB)\\$(Platform)\\nodebug
到$(BDSLIB)\\$(Platform)\\nodebug
用於所有上述平台。 $(BDSLIB)\\$(Platform)\\release\\$(LANGDIR);
復制您不想調試的任何非英語語言單元$(BDSLIB)\\$(Platform)\\release\\$(LANGDIR);
到$(BDSLIB)\\$(Platform)\\nodebug\\$(LANGDIR);
對於所有上述平台。 nodebug
目錄不必位於$(BDSLIB)
領域,但保留$(Platform)
非常方便,因為它比Win32
更容易支持其他平台。
我已經在所有支持的平台上使用Delphi XE3和XE5進行了測試,並且它可以工作。 在XE和XE2中,我有時會用錯誤的值覆蓋搜索路徑的某些部分,因此我更喜歡第一種方法。
下圖是針對Delphi XE3和OSX的。
它支持英語調試DCU和翻譯后的調試DCUS 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.