c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程

每次要远程调试的时候都要看半天的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根据自己需要选择就可以了

时间: 2024-08-18 20:14:48

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

c++ builder xe2 debug正常 release崩溃 解决一例

今天修改了以前一个项目的代码,是一个exe程序  C++ builder xe2 编译.以前都是好的.今天改了一下版本号 编译了一下,居然不能用了.直接崩溃 提示内存非法访问.而且显然还没有进入WinMain就崩溃了,这种一般是最不好调试的.用OD调试了半天也没有看出个所以然.检查了一下最近改过的代码,都没有发现问题. 之后改为Debug版本直接单步执行发现没有问题.所以继续执行也没有问题.索性直接运行也没有问题.操蛋原来Debug是好的.百思不得其解,看了看相关_DEBUG宏的代码也没有什么问

android studio-Android studio想要连接真机进行调试

问题描述 Android studio想要连接真机进行调试 我连接了手机,设置成了usb调试,而且电脑上也有驱动程序,电脑也Android studio中的run设置成usb device了,但就是无法在真机上显示调试的界面.该如何做? 解决方案 点run的时候选对仪器了吗?真机上有没有app? 解决方案二: 点run之后没有这个窗口? 解决方案三: 点run之后没有这个窗口? 解决方案四: 点run之后就这样的报错 解决方案五: 直接打包然后通过邮箱发到手机上的 或者用AirDroid来传 ,

visual studio 2015 未能计算子集/集合类型调试

问题描述 visual studio 2015 未能计算子集/集合类型调试 在使用visual studio 2015 企业版 sp1调试程序时,悬停在实例.集合上时展开,无法显示内部数据,提示"未能计算子集"尝试多个项目.管理员运行,均是一样.设置"选项-调试-常规"中的 "托管兼容模式"后一般实例显示正常,但对于List/Dictionary集合类型实例,没有 展开枚举 的选项,只能通过"非公共成员"的entries查看不

help-升級了 Windows 10 後,RAD Studio 內的 Help 不能正常顯示,如何解決?

问题描述 升級了 Windows 10 後,RAD Studio 內的 Help 不能正常顯示,如何解決? 我升級了 Windows 10 後, RAD Studio 内的 help 就变成这样 每次都要点击 "显示受限制的内容" 才可显示正常,点另一页又要再点过,很烦. 解决方案 将IE设置为默认的浏览器,在internet选项中将安全性调低.

xdebug-zend studio+IIS+mysql开发环境下Xdeug调试配置失败

问题描述 zend studio+IIS+mysql开发环境下Xdeug调试配置失败 配置基本没错,但是在调试的时候,出现了如下的提示,求大神指教

图片-RAD Studio 10 Seattle 安装失败

问题描述 RAD Studio 10 Seattle 安装失败 打开安装我第一次点Next就出现这个 点一下程序就直接退了 解决方案 许可协议不正确,看看是不是软件盗版的缘故.

《深入剖析Nginx》——第2章  跟踪与调试2.1 利用gdb调试

第2章 跟踪与调试 跟踪与调试,不仅是我们解决程序Bug的有力途径,也是帮助我们理解现有代码的有效方法.通过跟踪程序执行的过程,我们可以清楚地了解程序的内部逻辑,对于不明就里的实现细节,调试查看程序内部变量也能更好地帮助我们做出正确的理解.本章将介绍一些跟踪与调试程序的方法,除了最基本的 gdb 调试,我还将结合个人经验,介绍一些相对高级的应用技巧. 2.1 利用gdb调试 gdb是Linux下调试程序的常用工具,任何Linux开发工程师初学程序调试时第一个接触到的工具应该就是gdb.关于gdb

如何禁止VS调试网页,使用IE调试网页

问题描述 之前一直使用IE调试网页,但是现在变成了VS调试,好不习惯,怎么将设置改回来,继续使用IE调试!目前使用VS2013做ASP.NETMVC开发. 解决方案 解决方案二:引用楼主chencane的回复: 之前一直使用IE调试网页,但是现在变成了VS调试,好不习惯,怎么将设置改回来,继续使用IE调试!目前使用VS2013做ASP.NETMVC开发. 解决方案三:引用1楼zl373946618289的回复: Quote: 引用楼主chencane的回复: 之前一直使用IE调试网页,但是现在变

js调试系列 断点与动态调试[基础篇]_javascript技巧

上几篇文章已经为大家介绍了js调试系列的一些基础知识,这次乱码兄弟为大家带来了js断点与动态调试方法,需要的朋友可以参考下 昨天留的课后练习 1. 分析 votePost 函数是如何实现 推荐 的. 其实我们已经看到了源码,只要读下源码即可知道他是怎么实现的了. function votePost(n, t, i) { i || (i = !1); var r = { blogApp: currentBlogApp, postId: n, voteType: t, isAbandoned: i