簡體   English   中英

無法使用Windows XP SP3目標調試跨平台的大型delphi XE2應用程序

[英]Cannot debug large delphi XE2 application cross platform with Windows XP SP3 target

我用XE2(更新3)完成了“遠程調試”的第一個設置,在那里我帶了我的650k大型應用程序(在Win7中可以很好地進行編譯和調試),發現斷點在遠程模式下不會命中。 一個小的“ hello world”測試項目效果很好。 我已經完成以下工作:

  1. 創建了VMWare Workstation虛擬機並安裝了Windows XP SP3。
  2. 在XP上安裝並運行paServer。
  3. 在Delphi XE2中創建了指向虛擬機的新遠程配置文件。
  4. 單擊“測試連接”,一切正常。
  5. 右鍵單擊我通常的“調試”構建配置,然后為其分配新的遠程配置文件。
  6. 在源中設置一個斷點。
  7. 做一個構建,然后運行。 最終看到“部署”之后,我看到EXE和RSM文件已復制到虛擬機上的文件夾中。
  8. 該程序可以在我的虛擬機上正常運行,但是一旦開始運行,該斷點將被禁用並且不會被命中。
  9. 如果刪除遠程配置文件並在本地運行程序,則斷點可以正常工作。

正如我所說的,一個小項目行得通。 我的RSM文件約為54M,exe文件約為26M。

我嘗試了各種TDS文件開/關組合,包括調試系統Y / N,但都無濟於事。 有什么辦法可以找出為什么調試不可用?

我不習慣回答自己的問題,但經過更多調查后,有一些證據表明,這可能是由於自引入dproj以來,我的項目(以及DPROJ)幾乎已經通過了Delphi發行。內部影響了我的遠程調試能力。 我注意到在一個簡單的新XE2項目中,某些項目(例如TDS文件)會變灰,而在我的項目中則沒有。 我現在將我的大型項目DPR粘貼到一個新的空XE2項目中,從而創建了一個新的DPROJ和lo! 它在斷點處停止。

哇,這些dproj很爛。 我習慣於編輯這些東西以整理出“出錯”的版本編號,但我想有時需要一個干凈的版本號。

我試着不感到興奮,因為我以前看過遠程調試功能,但我只是想發布此信息。

[更多工作之后]在Deployment Manager將文件復制到遠程之前,必須確保從本地輸出文件夾中刪除所有虛假的* .rsm,*。tds文件。 如果不這樣做,則遠程調試將不起作用。 要檢查一切正常,您只能在目標計算機上看到一個exe文件,即帶有內部調試功能的項目EXE。 不應存在​​其他任何Delphi輸出符號或映射文件。

我處於與Brian 完全相同的情況,只是要對應用程序進行遠程調試是在Windows 2008 x64服​​務器上,該服務器是從運行Delphi XE2的i386 XP SP3調試的。 我的應用程序大小也相似,分別為42MB .rsm和28MB .exe。 應用程序將運行,但是在應用程序遠程運行時,斷點未激活,並以綠色顯示。 就像Brian一樣,在創建/遠程調試從頭開始創建的新測試x64應用程序時,斷點沒有問題。 在過去的10年中,我不可調試的應用程序也經歷了各種Delphi升級。

最后,刪除.dproj,.dproj.local,.deployproj並重新加載.dpr無效。 正如在類似線程中所建議的那樣,將調試信息移動到單獨的.tds文件中不是一個選擇,因為這是64位應用程序。

我仍在尋找根本原因/解決方案,但萬一其他人遇到同樣的問題,他們並不孤單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM