如何利用VC的Remote Debug功能

2021-04-15 11:07:31 字數 1259 閱讀 6019

環境:vc6 sp4 winxp

假設有下面一段**:

void cchildview::onpaint() 

如果你要在除錯的過程中**每次畫線的結果在本機上進行除錯(*表示斷點)是不可能的,因為每次返回到vc中時,wm_paint訊息有會重新傳送到視窗,並且視窗上的內容也會消失。

在vc中提供了remote debug的功能,使得開發人員可以將程式在另外一台pc上執行,然後在本機對程式進行除錯。下面講述如何進行這一操作:

準備環境

remote pc

host pc

含義實際執行被除錯程式的pc

執行vc的pc

要求拷貝如下檔案到系統目錄:mfc42d.dll mfco42d.dll msvcrtd.dll msvcp60.dll psapi.dll(位於host pc的系統目錄 windows/system32)

拷貝如下檔案到pc:dm.dll msdis110.dll msvcmon.exe tln0t.dll(位於host pc的vs安裝目錄下common/msdev98/bin)

安裝有vc

目錄共享

將host pc上共享的目錄對映成為乙個盤,如z:

共享出包含有被除錯的程式的目錄

假設host pc上的程式處於c:/test,那麼將c:/test共享,並在remote pc將該共享目錄對映為z:

在remote pc上執行msvcmon.exe,並選擇connect。

在host pc的vc環境中進行設定,首先通過選單project/setting開啟設定對話方塊,然後選中debug頁面,將遠端檔案設定為:z:/debug/test.exe,就如同你在remote pc上執行該程式時的名稱。

在host pc的環境中設定,通過選單build/debugger remote connection開啟設定對話方塊,然後設定remote pc的位址。

然後就可以在host pc上開始除錯了,按下f5開始除錯。但請保證remote pc上已經執行了msvcmon。在開始除錯的過程中vc可能要求你提供各種dll的位置,你按照要求提供dll在host pc上的檔案位置就可以了。

你試試上面的**的除錯情況,你會看見在remote pc上執行的測試程式順次畫出的這些線段。

最後你可以通過選單project/setting開啟設定對話方塊,看看開始除錯時指定的dll的對應關係。

另外在vs7中也可以用類似的方法進行除錯,此外vs7中的除錯還可以直接指定remote pc上已經存在的乙個程序進行除錯。 

利用vc呼叫dll

一時興起,研究下關於dll的呼叫,算是作為我首次發表文章啦,怎麼說也是我的處子作啊 好吧入正題啦 關於dll的呼叫,查了下資料,有兩種 一 靜態呼叫 二 動態呼叫,下面是分別的呼叫方法 一 靜態呼叫 3 用vc開啟mytest工程,選中工程,然後選擇vc選單下的project settings 二 ...

VC 利用ADO操作Excel

把excel當做資料庫來操作,步驟如下 1 在stdafx.h中加入 import c program files common files system ado msado15.dll no namespace rename eof adoeof connectionptr pcon ex cst...

利用VC編寫MFC OpenGL嚮導

mfc opengl使用者嚮導原程式工程,此次修正了沒有中文支援的錯誤。3.執行build命令,整合開發環境會生成mfc opengl.awx,並自動拷貝到 c program files microsoft visual studio common msdev98 template 目錄下。編輯o...