VS2008及以上遠程調試上篇已經講過,這裏再講下VC++6.0開發環境下的遠程調試能力,僅需下面4步便可,更方便的就接着後面的5-6步。html
由於目標程序須要在有采集卡等相關硬件支持下的工控機上工做,工控機上面通常沒有調試環境也不會放置源代碼(出於保密)。假如工控機上的目標程序運行中出了問題,就須要有調試環境卻沒法安裝採集卡等硬件的筆記本上進行遠程調試。windows
1.二者之間使用有線或無線連網。瀏覽器
2.目標機器與本機的調試機器鏈接通信,須要四個文件:MSVCMON.EXE、DM.DLL、TLN0T.DLL和MSDIS110.DLL。它們可在VC6安裝文件夾的Common/MSDEV98/Bin下面找到。安全
3.VC 調試程序執行須要的三個動態庫文件:MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL,有時可能須要ntdll.dll,它們可在系統文件夾\windows\system32下找到。網絡
或者經過搜索方式找到以上所需的8個文件,開始--搜索--文件或文件夾--在"要搜索的文件或文件夾名爲"框中,輸入上面的文件,點"當即搜索"按鈕搜索,而後將它們所有複製到遠程目標機器的執行程序文件夾E:\remote下便可。具備以上條件後,在遠程目標機器上雙擊運行msvcom.exe,無論其它設置,直接點"Connect"按鈕便可。session
注意:在Win7以後的系統下,這些文件可能須要和被調試的可執行程序,放在一個文件夾下才能夠。ui
在本機的開發環境中,打開遠程調試開關,點菜單 Build——Debugger Remote Connection...,彈出窗口,默認是在Local項(本地,不遠程調試時,要改回本地選項),如今要選遠程的Network(TCP/IP),而後點按鈕Settings...,在彈出框中,輸入遠程目標機器的IP或者機器名,好比:10.10.1.63,最後點OK便可。spa
好比在本機筆記本上調試生成的可執行程序名爲c:\dkqchtx\debug\dkqchtx.exe,在遠程目標機器工控機上的路徑爲e:\remote\dkqchtx.exe,那麼,在本機開發環境的菜單 Project —— Settings,在Debug頁面底部的Remote executable path and file name框中,輸入在遠程的工控機上程序運行所在的路徑和文件名:e:\remote\dkqchtx.exe。 debug
編譯一下程序,把新編譯出來的dkqchtx.exe複製到目標機器的e:/remote下面,就能夠在本地機器上啓動調試了。調試中的詢問的信息(可能會有不少)一概按肯定便可。3d
=============
雖然到此就完成了整個遠程調試項目,可是這樣有一個問題,就是每次小小的改動,編譯連接後,都須要將本地機器上的執行文件複製到遠程機器設定的路徑下才能夠調試,也就是須要始終保持二者徹底一致,調試就很不方便,爲了改變這種情況,可將遠程目標機器的執行程序所在的文件夾讀寫共享,讓本機筆記本上登陸的用戶具備讀寫權,直接將編譯連接的執行程序放到遠程目標機器上。
1.讀寫共享遠程文件夾
在遠程工控機的E:\盤的根目錄下,右擊文件夾remote,選擇"共享安全",在彈出的框中,點選"共享此文件夾",共享名稱改成remote_share,在"容許的用戶數量"中輸入1,這樣防止多用戶讀寫。點按鈕"權限",在彈出框的"輸入對象名稱來選擇"中,輸入劉亮,這是二者所在的局域網中,登陸到本地筆記本上的用戶,點"肯定"按鈕,劉亮就會出如今"組或用戶名稱"框中,選擇其中的劉亮,將下面3個選項"徹底控制","更改","讀取"都選上,點"肯定"便可,固然能夠將用戶Everyone 刪除會更安全。這樣就是讓登陸本地筆記本上的用戶劉亮,具備讀寫遠程機器上的文件夾E:\remote共享後的能力,以即可將輸出的可執行程序,直接寫入到遠程機器的讀寫共享文件夾remote_share下。
2.設置開發環境的輸出文件位置
在本地開發環境的菜單 Project -- Settings...,切換到Link頁面,在Output file name框中,輸入\\10.10.1.63\remote_share\dkqtx.exe,這裏10.10.1.63是遠程機器的ip地址,remote_share是文件夾共享後的名稱,dkqtx.exe是編譯連接後輸出的調試文件,這樣就將輸出直接放到遠程讀寫的共享文件夾下。
3.從新設定執行debug會話和目標機器的執行路徑和文件名
在本地開發環境中,Project——Settings...,切換到Debug頁面,在Excutable for debug session框中已經跟着自動改成:\\10.10.1.63\remote_share\dkqtx.exe,與上面Link輸出設置一致。在本Debug頁面底部的Remote executable path and file name框中,要輸入在遠程的工控機上程序運行所在的路徑和文件名:e:\remote\dkqtx.exe 便可。注意,這裏的文件名稱從原來dkqchtx.exe改成 dkqtx.exe, 也就是說本地和遠程上的文件名,能夠是任意只要一致就能夠了。
從新全編譯鏈接,Build——Rebuild All,就能夠了,之後任何的改動就不須要複製文件,調試很方便。
以上Link輸出和 Debug的會話執行,都是較長的子串\\10.10.1.63\remote_share\dkatx.exe, 爲了書寫簡單,能夠在本地機器上,將遠程機器共享的文件夾映射成一個本地盤符,方法以下:
在本地機器的IE瀏覽器地址欄裏,輸入遠程機器的IP地址:\\10.10.1.63 按回車,右擊出現的共享文件夾remote_share——選擇映射網絡驅動器,在彈出的頁面中的驅動器框中,選擇一個你本地沒有使用的盤符,好比Y:,這樣就將遠程機器10.10.1.63下的共享文件夾remote_share,映射成Y: ,之後寫\\10.10.1.63\remote_share\dkatx.exe的地方,就可簡寫爲Y:\dkqtx.exe ,使用起來很方便。
固然,調試的總條件,須要選擇Debug 調試方式,菜單 Build——Set Active Configuration... ,從中選擇 Win32 Debug ,以後須要從新全編譯鏈接,菜單 Build——Rebuild All。
上面的內容大體都是http://blog.sina.com.cn/s/blog_45eaa01a01014eb5.html 中的內容,如下爲親試截圖:
最終在目標機器上將程序調試運行起來了~