調試進程外服務(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. 在客戶端,恢復運行程序,當遠程對象運行到斷點時,停止
posted on 2007-06-13 12:32
星夢情緣 閱讀(2268)
評論(0) 編輯 收藏 引用 所屬分類:
關于編程