怎樣在VC++下調試COM對象

來源:互聯網
上載者:User

調試進程外服務(Debugging Out-Of-Process Server)

  因為服務的方法和事件的實現要靠客戶來觸發,所以調試服務必須要先啟動客戶程式。

方法一:

     1. 在Project àSetting的Debug Tab上輸入客戶程式;

     2. 在服務程式代碼中設定斷點既可調式。

方法二:(在客戶工程中啟動調試任務)

     1. 開啟客戶工程,設定為Debug編譯模式;開啟JIT( Jst-In-Time )選項。

        [ ToolàOptionàDebug Tab] 選定 "Just-In-Time Debugging " 和

        "OLE RPC Debugging" 選項。

 

     2. 在代碼中,調用服務的那行代碼處設定斷點,啟動Debugger運行客戶程式;

    3. 當調試在斷點處(調用服務處)停止時,跟進(Setp Into)調用,如果你的應用

       程式連到了MFC,VC會自動開啟進入到正確合適的代碼處;

    4. 用步進( Step Over )調試直至出現彙編,在客戶stub DLL的開始處標記;

    5. 繼續運行通過Stub和Proxy單步調試,當步進到服務的方法時,VC會自動啟動

       debugger的另一個執行個體。

 

< 參見MSDN  "HOWTO:Debug OLE Application >

  Debug the Message ActiveX Control

    [Project àSetting à Debug Tab,在"Executable For Debug Session" 的中選

    擇合適的程式]

 

調試遠程對象(Debug Remote Object)

 Attaching the Debugger to a Remote Process

    1. 開啟客戶程式,設定好斷點;

    2. 用Debugge運行程式直至觸發斷點,確定此此時對象在服務方已被啟用;

    3. 在組件所在的機子上啟動VC,啟用Attach To Process命令,從彈出的進程列表

        框中選擇組件或她的Surrogate,使Debugger吸附到對象的進程中。

    4. 在VC環境中開啟組件原始碼,設定好斷點;

    5. 在用戶端,恢複運行程式,當遠程對象運行到斷點時,停止

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.