VC開發(fā)環(huán)境之所以提供遠(yuǎn)程調(diào)試的能力,是因為有些情況下單機(jī)調(diào)試會讓你崩潰掉。。。比如,調(diào)試GUI程序的WM_PAINT消息,因為要單步調(diào)試,所以調(diào)試器會對界面的重繪產(chǎn)生副作用(Heisenberg不確定性原理)。當(dāng)然還有些別的情況也適用,比如程序在測試環(huán)境運(yùn)行的好好的,但是在客戶那行為總是異常,這時候如果可以TCP遠(yuǎn)程連接上去維護(hù)的話,就能通過遠(yuǎn)程調(diào)試的特性在出現(xiàn)狀況的系統(tǒng)環(huán)境中排錯~
下面來說一下具體的做法。先明確下概念,遠(yuǎn)程調(diào)試嘛,自然是兩個機(jī)器之間調(diào)試。程序運(yùn)行在目標(biāo)機(jī)器上,調(diào)試器運(yùn)行在本機(jī)。當(dāng)然,目標(biāo)機(jī)器上還是要有少許輔助程序才能跟本機(jī)的調(diào)試器connect上,以便通訊。一般來說,只需要copy四個文件到目標(biāo)機(jī)器上就行了:MSVCMON.EXE、DM.DLL、TLN0T.DLL和MSDIS110.DLL。這四個文件都能在VC6目錄的Common\MSDEV98\Bin目錄下面找到。copy過去之后,運(yùn)行msvcom.exe,看下圖片~
程調(diào)試_files/TargetMechine.JPG)
有個Settings的按鈕,不用管。直接點Connect就行了~
接著看看本機(jī)這邊調(diào)試器的設(shè)置。首先設(shè)置好遠(yuǎn)程調(diào)試開關(guān),在Build菜單下有個Debuger Remote Connecting的子菜單,點之。出現(xiàn)個窗口,默認(rèn)是在Local項,我們要選的是Network(TCP/IP),然后點設(shè)定。會彈出一個對話框,輸入目標(biāo)機(jī)器的ip或者機(jī)器名,最后點OK就行了。
程調(diào)試_files/Host.JPG)
接下來把工程打開,設(shè)置最后一步。假設(shè)生成的可執(zhí)行程序名為RemoteDebug.exe,在目標(biāo)機(jī)器上的路徑為d:\Prj\Remote.exe,那么,在本機(jī)的Project Settings里面,選擇Debug頁面的Remote executable path and file name下面的編輯框中輸入目標(biāo)機(jī)器中程序的路徑:d:\Prj\RemoteDebug.exe。注意,這里寫的是從目標(biāo)機(jī)器的角度所看到的路徑。
程調(diào)試_files/PrjSetting.JPG)
然后編譯一下程序,把新編譯出來的RemoteDebug.exe復(fù)制到目標(biāo)機(jī)器的d:\Prj下面,就可以在本機(jī)像平常一樣調(diào)試了。