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