每次要遠程調試的時候都要看半天的xe2英文幫助文檔,今天正好有點時間,把它寫下來。html
1、概述:ios
首先說明一下,c++ builder 遠程調試有兩種方式的,一種是被稱爲是老式的調試方法,這種方法是在遠程機器上安裝Debugger 也就是其實也就是運行PAServer的rmtdebug163.exe來運行調試的,可是這種方法貌似只能以啓動進程的方式調試程序,而不能附加已經存在的進程。而今天我講的重點是新的遠程調試,同時它的功能不單單是用在調試,還能夠用在跨平臺開發當中。原方名字爲:The new remote and cross-platform debugging solution,它是用一個Platform Assistant 和一個 remote profile來達到到遠程調試的目的。c++
本文是拿c++ builder xe2爲例寫的,但絕大多數內容也適用於delphi xe2 而且能夠很容易的推廣到 xe3 xe4 等版本。網絡
2、具有條件socket
因爲embarcadero rad studio 遠程調試都是創建在socket通訊基礎上的。測試
因此調試機與被調試機必須是網絡連通的,被調試機上有開發機上生成的調試信息符號文件 *.tds (delphi 是 *.rsm)。ui
可執行文件(*.exe或*dll)你編譯生成以後必須複製到被調試機器上命令行
3、部署debug
1.首先在遠程機器(被調試程序所在的機器)上安裝PAServer。個人安裝文件在 D:\Program Files (x86)\Embarcadero\RAD Studio\9.0\PAServer\setup_paserver.exe3d
2.在被調試機器上安裝好以後運行paserver.exe出現命令提示符界面調試讓你輸入密碼,若是不設置密碼直接按回車便可。
3.在調試機器上的c++ builder xe2 上點擊菜單->Tools 而後打開找到Remote Profiles窗口以下圖所示
點擊add增長一個remote profile須要填寫如下幾項
profilename:名字而已任意寫我這裏寫爲teet
platform:這裏選擇你程序所運行的平臺如win 64 或win 32 、ios X等
而後下一步:HostName填寫被調試機器的ip地址,PortNumber:默認的,下面密碼就填你剛纔在被調試機器上那個命令提示符裏設置的密碼。以後點擊Test connection測試一下是否OK,繼續點下一步後直接Finish。完成後以下圖所示,而後點擊OK。
好了,一個remote profile就增長好了。下面就能夠調試了。
4、調試
1.附加已經運行的進程
點擊菜單 Run->Attach to Process按下圖選擇
按上圖操做以後遠程機器上的進程就顯示出來了,這樣就實現了遠程附加調試進程了。這裏說明一點,若是要進行源碼調試而且要在源碼上設置斷點什麼的,必須把在編譯的時候生成的調試信息符號文件複製到被調試機器上。
2.遠程建立被調試進程
點擊菜單 Run->Load Process 在左邊選擇remote 而後設置好Remote path(遠程調試機器上的被調試程序全部路徑)和remote host(同上面選擇host的方法)。Params和Working directory是設置命令行和工做目錄的,下面after load根據本身須要選擇就能夠了