程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 在Delphi7中調試COM+

在Delphi7中調試COM+

編輯:更多關於編程

      開發COM+應用系統最令人頭痛的問題便是如何調試 COM+組件了。由於COM+是執行在COM+的執行環境中,因此Delphi 的程序員無法像Delphi的分布式多層應用系統一樣可以直接在 Delphi 的IDE 中設定應用程序服務器的斷點來調試。

      事實上, Delphi 仍然可以在 Delphi 的集成開發環境中調試 COM+組件,也可以讓程序員在集成開發環境中在COM+組件的程序單元中設定斷點,然後執行客戶端應用程序調用 COM+組件。此時 Delphi 便會把執行控制權帶到Delphi 的集成開發環境中,並且暫停在程序員設定的斷點上讓程序員開始調試。從此開始,程序員就可以像調試一般的應用程序一樣來調COM+組件了。不過要如此調試COM+組件,程序員必須先做一些設定。

       <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

      1、在Delphi 的集成開發環境中激活要被調試的 COM+ 組件項目,點Projects|Options 菜單,在彈出的對話框中選擇Linker頁,選中其中的include Td32 info 和 include remote debug symbol ;

      2、點 Run|Install Com+ Objects菜單,注冊COM+組件,最好是注冊到新的應用程序,也可以注冊到已有的應用程序(這個應用程序需要是由Delphi 的注冊COM程序產生的)。

      3、運行Win2000的 控制面板|管理工具|組件服務,在COM+應用程序中找到剛才COM注冊的應用程序,點右鍵,選擇“屬性”菜單,在彈出的對話框中,選擇“高級”頁,選中其中的“在調試器中啟動”選項,在下面的調試路徑中會有類似如下的內容:"C:Program FilesBorlandDelphi7Binordbg70.exe" dllhost.exe /ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}

      4、回到Delphi的集成開發環境,點選Run|Parameters 菜單,在對話框中,HostApplication設為:C:WINNTsystem32DLLHOST.EXE ,(要根據你的操作系統安裝情況設定)。 Parameters 設為:/ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866};這個GUID的值要和Win2000組件服務中的屬性值一致,可以從那邊直接COPY過來。

      5、設置斷點,在Delphi的集成開發環境中運行COM;

      6、在Windows中(或新開的Delphi環境中)運行調用這個COM的客戶端程序。

      這時會發現,Delphi開發環境中的COM停在斷點處了,就可以接下來單步跟蹤調試了。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved