转载:http://www.cnblogs.com/zhangdongsheng/p/3411056.html

每次要远程调试的时候都要看半天的xe2英文帮助文档,今天正好有点时间,把它写下来。

一、概述:

首先说明一下,c++ builder 远程调试有两种方式的,一种是被称为是老式的调试方法,这种方法是在远程机器上安装Debugger 也就是其实也就是运行PAServer的rmtdebug163.exe来运行调试的,但是这种方法貌似只能以启动进程的方式调试程序,而不能附加已经存在的进程。而今天我讲的重点是新的远程调试,同时它的功能不仅仅是用在调试,还可以用在跨平台开发当中。原方名字为:The new remote and cross-platform debugging solution,它是用一个Platform Assistant 和一个 remote profile来达到到远程调试的目的。

本文是拿c++ builder xe2为例写的,但绝大多数内容也适用于delphi xe2 并且可以很容易的推广到 xe3 xe4 等版本。

二、具备条件

由于embarcadero rad studio  远程调试都是建立在socket通信基础上的。

所以调试机与被调试机必须是网络连通的,被调试机上有开发机上生成的调试信息符号文件  *.tds (delphi 是 *.rsm)。

可执行文件(*.exe或*dll)你编译生成之后必须复制到被调试机器上

三、部署

1.首先在远程机器(被调试程序所在的机器)上安装PAServer。我的安装文件在 D:\Program Files (x86)\Embarcadero\RAD Studio\9.0\PAServer\setup_paserver.exe

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就增加好了。下面就可以调试了。

四、调试

1.附加已经运行的进程

点击菜单 Run->Attach to Process按下图选择

按上图操作之后远程机器上的进程就显示出来了,这样就实现了远程附加调试进程了。这里说明一点,如果要进行源码调试并且要在源码上设置断点什么的,必须把在编译的时候生成的调试信息符号文件复制到被调试机器上。

2.远程创建被调试进程

点击菜单 Run->Load Process 在左边选择remote 然后设置好Remote path(远程调试机器上的被调试程序所有路径)和remote host(同上面选择host的方法)。Params和Working directory是设置命令行和工作目录的,下面after load根据自己需要选择就可以了

c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程的更多相关文章

  1. Embarcadero RAD Studio 2016 Product Approach and Roadmap

    delphi  2016 路线图 http://community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-pro ...

  2. Embarcadero RAD Studio XE5

    英巴卡迪诺 RAD Studio XE是终极应用程序开发套件,能以最快速方式为Windows.Mac OS X. .NET. PHP. Web和移动设备可视化开发数据丰富.界面美观的跨平台应用程序.R ...

  3. 彻底卸载 RAD Studio 2009/2010/XE

    彻底卸载 RAD Studio 2009/2010/XE: 控制面板-->添加/删除程序中执行了卸载操作以后, 还需要做以下工作: 1. 删除以下目录(注意有些目录是隐藏的): %ALLUSER ...

  4. RAD Studio XE2破解、安装、试用

    RAD Studio XE2刚发布没几天,网上找到了破解,鸡冻啊.迫不及待的下载安装. 新特性: 使用FireMonkey ?创建令人印象深刻的商业应用 构建64位Delphi应用程序以利用最新的硬件 ...

  5. RAD Studio/Delphi 2010 3615下载+破解

    RAD Studio/Delphi 2010 3615下载+破解 官方下载地址: http://altd.embarcadero.com/download/RADStudio2010/delphicb ...

  6. 打开RAD Studio XE5提示"displayNotification:内存不够"解决办法

    操作方法: 在RAD Studio XE5快捷方式上鼠标右击选择属性,在弹出的快捷方式标签页中将目标(T):"C:\Program Files (x86)\Embarcadero\RAD S ...

  7. Delphi XE 5,Rad Studio XE 5 官方下载(附破解),更新 Update 1,Help Update 1

    Delphi XE 5 破解,有图有真相 Embarcadero RAD Studio XE5 Update 2 v19.0.14356.6604 (等待破解中...): http://altd.em ...

  8. RAD Studio Mobile Roadmap updated,XE5 will released on next month, Andriod will be supported.

    RAD Studio Mobile Roadmap updated   Embarcadero updated his RAD Studio Mobile Roadmap. This concern ...

  9. 彻底卸载 RAD Studio 2009/2010/XE+ 的步骤

    重新安装 RAD 系列时,建议将上一个版本彻底卸载,彻底卸载 RAD Studio 2009/2010/XE+ 的步骤: 控制面板-->添加/删除程序中执行了卸载操作以后, 还需要做以下工作: ...

随机推荐

  1. 第一章 : javaScript框架分类及主要功能

      从内部架构和理念划分,目前JavaScript框架可以划分为5类. 第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的j ...

  2. Java数组的--遍历

    (I)标准for循环遍历数组 例如代码片段: int [] nums = new int [] {0,1,2,3,4,5,6,7,8,9}; for(int i=0;i<11;i++){ Sys ...

  3. Java基础-数据类型int,short,char,long,float,double,boolean,byte

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  4. 图解Android - Looper, Handler 和 MessageQueue

    Looper, Handler 和 MessageQueue 是Android 的异步消息处理机制

  5. 【CodeForces 520E】Pluses everywhere

    题意 n个数里插入k个+号,所有式子的和是多少(取模1000000007) (0 ≤ k < n ≤ 105). 分析 1.求答案,考虑每个数作为i位数(可为答案贡献10的i-1次方,个位i=1 ...

  6. JEECMS页面中常用标签

    (1)在段落前给每一行加序号 从0开始:${a_index}从1开始:${a_index+1} (2)标记说明 [文章导航]:[@cms.Position /] [文章标题]:${arti.title ...

  7. Linux Kernel File IO Syscall Kernel-Source-Code Analysis(undone)

    目录 . 引言 . open() syscall . close() syscall 0. 引言 在linux的哲学中,所有的磁盘文件.目录.外设设备.驱动设备全部被抽象为了"文件" ...

  8. TCP/IP详解 笔记十

    IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...

  9. (原)java中对象复制、==、equals

    对于基本数据类型而言,即如下八种基本数据类型,int,boolean,char,byte,short,float,double,long. public class test { public sta ...

  10. 浅谈php对api开发的作用

    最近正在做一个手机APP的服务端API开发,虽然是基于Ruby on Rails的,做的也不太专业,不过大致相通,希望能够给你一些启发. 首先,如果是比较简单的手机APP,例如新闻客户端这样的不会涉及 ...