調(diào)試進(jìn)程外服務(wù)(Debugging Out-Of-Process Server)
因為服務(wù)的方法和事件的實現(xiàn)要靠客戶來觸發(fā),所以調(diào)試服務(wù)必須要先啟動客戶程序。
方法一:
1. 在Project àSetting的Debug Tab上輸入客戶程序;
2. 在服務(wù)程序代碼中設(shè)置斷點既可調(diào)式。
方法二:(在客戶工程中啟動調(diào)試任務(wù))
1. 打開客戶工程,設(shè)置為Debug編譯模式;打開JIT( Jst-In-Time )選項。
[ ToolàOptionàDebug Tab] 選定 "Just-In-Time Debugging " 和
"OLE RPC Debugging" 選項。
2. 在代碼中,調(diào)用服務(wù)的那行代碼處設(shè)置斷點,啟動Debugger運行客戶程序;
3. 當(dāng)調(diào)試在斷點處(調(diào)用服務(wù)處)停止時,跟進(jìn)(Setp Into)調(diào)用,如果你的應(yīng)用
程序連到了MFC,VC會自動打開進(jìn)入到正確合適的代碼處;
4. 用步進(jìn)( Step Over )調(diào)試直至出現(xiàn)匯編,在客戶stub DLL的開始處標(biāo)記;
5. 繼續(xù)運行通過Stub和Proxy單步調(diào)試,當(dāng)步進(jìn)到服務(wù)的方法時,VC會自動啟動
debugger的另一個實例。
< 參見MSDN "HOWTO:Debug OLE Application >
Debug the Message ActiveX Control
[Project àSetting à Debug Tab,在"Executable For Debug Session" 的中選
擇合適的程序]
調(diào)試遠(yuǎn)程對象(Debug Remote Object)
Attaching the Debugger to a Remote Process
1. 打開客戶程序,設(shè)置好斷點;
2. 用Debugge運行程序直至觸發(fā)斷點,確定此此時對象在服務(wù)方已被激活;
3. 在組件所在的機子上啟動VC,激活A(yù)ttach To Process命令,從彈出的進(jìn)程列表
框中選擇組件或她的Surrogate,使Debugger吸附到對象的進(jìn)程中。
4. 在VC環(huán)境中打開組件源代碼,設(shè)置好斷點;
5. 在客戶端,恢復(fù)運行程序,當(dāng)遠(yuǎn)程對象運行到斷點時,停止
posted on 2007-06-13 12:32
星夢情緣 閱讀(2260)
評論(0) 編輯 收藏 引用 所屬分類:
關(guān)于編程