vs2013遠程調試技巧

vs2013遠程調試調試

  • vs遠程調試是基於bs架構的,首先,程序在遠程啓動(debug版,記得附帶pdb文件),然後通過msvsmon.exe作爲代理,和客戶端(本機)進行交互。
  • 下面介紹步驟,也可以本地進行測試,目標爲本地主機172(哈哈哈)。當然,下面就以遠程的來舉例子。

附加到遠程進程

在目標機器運行遠程調試代理msvsmon.exe

  • 關閉遠程計算機的防火牆(必須是局域網內的計算機,不能是公網)
  • 需要注意的是目標機器無需安裝vs,但是目標機器必須有和本地主機一致的遠程調試代理,可以下載對應版本的調試代理。但是最容易的就是直接將本地主機vs安裝目錄\Common7\IDE\Remote Debugger整個目錄複製到遠程主機上。這個 目錄下有x64和x86兩個版本,需要注意的是,你若是想調試x86的程序,那隻能運行x84這目錄下的msvsmon.exe
  • 運行msvsmon.exe,Tool->option->No Authentication不設置遠程驗證,接下來設置監聽端口號
  • 這樣一來,我們的調試環境就已經打搭建起來了,理論上我們已經具備遠程調試的通信環境了。

開始調試

  • 我們在本地主機上將編譯模式調到debug模式,然後編譯,然後將整個編譯後的二進制文件(.exe, .pdb和相關的dll依賴)複製到目標機器上。
  • 接着我們打開msvsmon.exe,添加代理端口號:比方說4020,身份驗證設置爲無身份驗證。點擊確定開啓代理。這個時候,代理服務器已經被運行在剛剛設置的端口號上了。如圖所示
    在這裏插入圖片描述
  • 紅色框框表示遠程的主機名稱和服務的端口號。
  • 接下來我們在本地主機通過遠程主機名稱和端口號連接這臺機器。

本地主機設置

  • 以管理員權限運行VS(記得哦,不然會報錯找不到遠程監視器msvsmon.exe)
  • 修改項目設置如圖所示
    在這裏插入圖片描述
  • 工具->附加進程,然後在篩選器 選項選擇查找 ,這裏可以看到同網段內的遠程調試服務,選擇你想要的那個,接着點擊刷新,可以看到遠程主機的正在運行的進程。
  • 遠程主機運行程序,本地主機選擇附加到這個程序。
  • 命中斷點。

直接調試遠程程序

  • 若是不想附加到遠程進程,那麼直接按下f5就可以調試了。

寫在後面

  • 遠程調試可以說是非常好用了,特別是以下場景。
  • 情景一:本地運行沒有任何問題,但是在其他環境運行得時候總是會有莫名的崩潰問題,自己運行又不會崩潰,這個時候就很難在自己本機上覆現了,所以這個時候遠程調試就派上用場了。我們可以將來debug版本和遠程調試工具發送給該崩潰主機,然後通過遠程調試的辦法,對其進行遠程調試和崩潰斷點定位。
  • 情景二:本地運行的程序沒有任何問題,在別的機器運行閃退…。這個時候遠程調試直接過去命中崩潰點就可以解決問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章