c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程
转载: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 远程调试 教程的更多相关文章
- Embarcadero RAD Studio 2016 Product Approach and Roadmap
delphi 2016 路线图 http://community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-pro ...
- Embarcadero RAD Studio XE5
英巴卡迪诺 RAD Studio XE是终极应用程序开发套件,能以最快速方式为Windows.Mac OS X. .NET. PHP. Web和移动设备可视化开发数据丰富.界面美观的跨平台应用程序.R ...
- 彻底卸载 RAD Studio 2009/2010/XE
彻底卸载 RAD Studio 2009/2010/XE: 控制面板-->添加/删除程序中执行了卸载操作以后, 还需要做以下工作: 1. 删除以下目录(注意有些目录是隐藏的): %ALLUSER ...
- RAD Studio XE2破解、安装、试用
RAD Studio XE2刚发布没几天,网上找到了破解,鸡冻啊.迫不及待的下载安装. 新特性: 使用FireMonkey ?创建令人印象深刻的商业应用 构建64位Delphi应用程序以利用最新的硬件 ...
- RAD Studio/Delphi 2010 3615下载+破解
RAD Studio/Delphi 2010 3615下载+破解 官方下载地址: http://altd.embarcadero.com/download/RADStudio2010/delphicb ...
- 打开RAD Studio XE5提示"displayNotification:内存不够"解决办法
操作方法: 在RAD Studio XE5快捷方式上鼠标右击选择属性,在弹出的快捷方式标签页中将目标(T):"C:\Program Files (x86)\Embarcadero\RAD S ...
- 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 ...
- 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 ...
- 彻底卸载 RAD Studio 2009/2010/XE+ 的步骤
重新安装 RAD 系列时,建议将上一个版本彻底卸载,彻底卸载 RAD Studio 2009/2010/XE+ 的步骤: 控制面板-->添加/删除程序中执行了卸载操作以后, 还需要做以下工作: ...
随机推荐
- 第一章 : javaScript框架分类及主要功能
从内部架构和理念划分,目前JavaScript框架可以划分为5类. 第一种是以命名空间为导向的类库或框架,如果创建一个数组用new Array(),生成一个对象用new Object(),完全的j ...
- 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 ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- 图解Android - Looper, Handler 和 MessageQueue
Looper, Handler 和 MessageQueue 是Android 的异步消息处理机制
- 【CodeForces 520E】Pluses everywhere
题意 n个数里插入k个+号,所有式子的和是多少(取模1000000007) (0 ≤ k < n ≤ 105). 分析 1.求答案,考虑每个数作为i位数(可为答案贡献10的i-1次方,个位i=1 ...
- JEECMS页面中常用标签
(1)在段落前给每一行加序号 从0开始:${a_index}从1开始:${a_index+1} (2)标记说明 [文章导航]:[@cms.Position /] [文章标题]:${arti.title ...
- Linux Kernel File IO Syscall Kernel-Source-Code Analysis(undone)
目录 . 引言 . open() syscall . close() syscall 0. 引言 在linux的哲学中,所有的磁盘文件.目录.外设设备.驱动设备全部被抽象为了"文件" ...
- TCP/IP详解 笔记十
IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...
- (原)java中对象复制、==、equals
对于基本数据类型而言,即如下八种基本数据类型,int,boolean,char,byte,short,float,double,long. public class test { public sta ...
- 浅谈php对api开发的作用
最近正在做一个手机APP的服务端API开发,虽然是基于Ruby on Rails的,做的也不太专业,不过大致相通,希望能够给你一些启发. 首先,如果是比较简单的手机APP,例如新闻客户端这样的不会涉及 ...