Delphi 远程调试方法
1.问题描述: 经常我们在测试程序或者排查异常时会碰到以下几种状况: (1) 测试员那边有出现某种异常,可是
程序员这边就是重现不了。 (2) 繁体机会出现某种异常(特别是乱码问题),简体机不会。 (3) 客户或者顾问电脑会出现
问题,本地无法重现 …… 针对类似上面的问题,一般我都会想总不能在测试(顾问、客户)电脑上安装一个 Delphi 进行调试吧,偶然发现一个解决办法,可能会解决上面的问题。 2.解决思路 不可以远程连接的,准确的说是不可以 ping 通的,目前只有用 AQTime 进行跟踪了。 AQTime 对于效能分析和异常分析都有很好的效果,只是安装文件有点大。 如果是测试员电脑上出现了异常,或者本地虚拟机上出现的异常,可以试着采用
Delphi 官 方提供的远程调试方法进行调试。配置比较啰嗦,不过都很容易懂。 下面以建档为例,描述调试步骤: (1) 在远程
计算机安装 RDEBUG,Delphi5 安装目录就有,很小,只有 2-3M,简繁 机都可以安装。安装成功后运行。 (2) 在本地编译出一个可以跟踪的 DLL(默认编译的 DLL 没有跟踪信息),方法跟 利用 AQTime 类似:Project ->Options: Compile 面板: 去掉 Optimization 选项,勾上 stack frames 选项,勾上 Debug Information 选项 Linker 面板: Map file 选择 Detailed,勾上 Include TD32 Debug info,勾上 include remote debug symbols。 这些都配置好后,编译出 DLL、map、rsm 三个文件,放到客户机的相应目录。 (如果提示 XXXX.drc 文件找不到,把工程另存到本地就可以了)
(3) 配置 Delphi 的 Run->parameters
(4)跟调试本地程序一样,按 F9 运行,就会发现远端进程里面有个 LeaderWorkCenter.exe 了,然后在本地设断点,在远端开易飞,调起相应的建档,就会触发 本地断点了。