天天看點

關于Delphi中DLL,BPL等無法調試的問題

  今天,整插件架構的時候,調試的時候,整來整去,發現,無法進入插件DLL進行調試,詫異的蛋疼,相同的架構,以前寫的代碼,調試一切正常,随意怎麼調試都可以,今天換一個項目上來,調試居然無法進入到DLL子產品中去了。。。。尋找度娘,谷歌一番,多數論調都是神馬DLL和exe同一個目錄下之類的。甚至還有人說放在不同的目錄下之類的。。。。我不知道他們是怎麼設定調試成功的,總之,我是怎麼整都沒成功,最後終于進入到主程式調試加載DLL插件的時候,檢視了一下Delphi自身的調試檢視的Modules,這個可以在View-->Debug Windows--->Modules下檢視。正常情況下,這裡顯示的界面為:

關于Delphi中DLL,BPL等無法調試的問題

,可以看到前面有藍色小原點的是目前正在運作調試中的子產品。然後可以看到在後面還跟有一個子產品的路徑。這個如果是英文名稱,那麼這個子產品路徑是正常的,如果是中文名稱,那麼這個子產品路徑則是亂碼,妹的,問題,才算是找出來了,這個就是因為Delphi的IDE無法識别正确的子產品路徑,而導緻調試的時候無法正常加載子產品的調試資訊。由此,咱們今後可要注意一下,就是如果使用插件的時候,切忌使用中文名稱,否則是無法識别調試路徑的咯。下面是使用中文路徑的時候,插件子產品加載之後的子產品視圖如下

關于Delphi中DLL,BPL等無法調試的問題

很顯然,隻有SeBaidu.exe這個是藍色點,而俺剛加載的那個插件則顯示的是未加載,更奇特的是他後面的路徑,看到沒,一串亂碼。真是蛋疼的Delphi呵。居然宿主的中文路徑識别正常,加載的插件中文路徑,就識别不正常了!僅以為記,既然IDE有這種BUG,那咱們隻有日後繞過了!

本文轉自 不得閑 部落格園部落格,原文連結: http://www.cnblogs.com/DxSoft/archive/2013/04/10/3011533.html  ,如需轉載請自行聯系原作者