其實不少時候,遠程調試的話,我仍是更喜歡用WinDBG的,服務器
首先,能夠練習WinDBG的使用手段,操作系統
其次,能夠增長WinDBG的熟練度,命令行
最重要的,WinDBG在內核調試部分很經常使用,我也很喜歡它,因此我也常常用,3d
可是用多了會發現有個問題,就是,WinDBG創建普通的調試環境太慢了,調試
(不考慮dbgsrv和.server,由於在現有環境下,能夠有更好的方法,這兩種純粹屬於陌生環境下的無奈),server
因此,想辦法解決問題。blog
其實VS自帶就有遠程調試相關的功能,開發
並且設置步驟很是簡單,編譯
1:確認本身的開發機上,完整地安裝了VS。(這是廢話,VS不完整,怎麼開發。)服務器端
2:使用Everything搜索一個叫作「msvsmon」的名字,這時會搜索出不少
3:若是安裝了不一樣版本的IDE,會搜索出不少不一樣版本的msvsmon,尋找一個本身要使用的對應版本的msvsmon,我須要的就是VS12.0版本的,
找到目錄,把目錄裏面兩個文件夾都拷到目標機器中。
4:對應本身要調的程序位數以及目標操做系統位數,打開指定目錄下的 msvsmon.exe
5:其實,什麼都不用設置,這時服務端就能夠用了。
6:VS的設置。
紅色方框內部,選擇遠程調試,
遠程命令寫要調試的程序路徑及名字,
遠程命令參數就是命令行參數,
工做目錄能夠填寫一個遠程目錄,
遠程服務器名稱,直接填寫遠程電腦的IP就好,
而後是比較重要的鏈接,這裏使用默認的「帶Windows身份驗證的遠程訪問」就好,由於服務器端那邊咱們沒有設置,服務器端也是默認的,而默認的也是這個選項。
其餘部分能夠不用修改。
7:大功告成。
能夠F5了。
這裏須要注意幾點:
1:目標機器必定要有本身機器的軟件環境,好比亂七八糟的RTL庫,沒有的話,能夠現裝。
2:通常來講只要是符號正確,基本上都沒有問題,若是符號不匹配,看看是否是編譯問題。
3:若是連不上,先看本身是否是IP寫錯了,由於服務端運行的時候,若是判斷防火牆存在,那麼它會請求添加防火牆,通常來講,防火牆出問題的可能性比較小,大多都是IP寫錯了。