delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序

delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序,第1张

概述我写了一个简单的VCL win32应用程序,它具有以下代码: procedure TForm5.Button1Click(Sender: TObject);begin ShowMessage('bingo');end; 我使用运行时包编译了应用程序并打开了以下开关: >调试信息 – >真正 >包括远程调试符号 – >真正 >断言,调试信息,本地符号,使用调试dcus – >真正 输出包含以 我写了一个简单的VCL win32应用程序,它具有以下代码:

procedure TForm5.button1Click(Sender: TObject);begin  ShowMessage('bingo');end;

我使用运行时包编译了应用程序并打开了以下开关:

>调试信息 – >真正
>包括远程调试符号 – >真正
>断言,调试信息,本地符号,使用调试dcus – >真正

输出包含以下文件:

> Project1.exe
> project1.rsm

两个运行时包是:

> vcl160.bpl
> rtl160.bpl

我在button1Click处理程序中设置了一个断点,如果我运行,本地IDE调试器将停在那里
在调试器模式下应用程序.

接下来,我想尝试使用运行时包远程调试应用程序.

我将远程配置文件分配给32位windows平台.测试连接与远程配置文件一起使用. paserver也是在远程机器中启动的.当我尝试使用Delphi XE2 IDE调试器运行应用程序时,我注意到有4个文件被复制到远程机器:

> Project1.exe
> project1.rsm
> vcl160.bpl
> rtl160.bpl

但是,事件日志显示:

Module Load: Project1.exe. No DeBUG Info. Base Address: 400000. Process Project1.exe (1676)

由于模块没有调试信息,因此所有断点都将无法触发.

我已经尝试构建没有运行时包的单个文件.exe应用程序.相同的远程调试器步骤工作,我可以远程调试应用程序.

使用运行时包构建的应用程序使远程调试失败的原因是什么?

解决方法 看起来你必须另外部署与使用的运行时包相对应的’.dcp’文件.

从Debugger Notes(XE2发行说明):

Ensure DeBUG information by Adding .dcp files to Application
Deployment

If your Delphi application links with run-time packages,the expected
deBUG information might not be generated. This is true for Mac OS X
applications and for remote Win64 or remote Win32 applications. The
workaround is to use the Deployment Manager to add the .dcp files that
correspond to the run-time packages in your run-time package List. For
instance,if you are using rtl,you must deploy the rtl.dcp file.

Use the .dcp files located in the Embarcadero\Rad Studio\9.0\lib
directorIEs,as follows:

For an OS X application: Embarcadero\Rad Studio\9.0\lib\osx\release For a remote 64-bit windows application: Embarcadero\Rad Studio\9.0\lib\win64\release For a remote 32-bit windows application: Embarcadero\Rad Studio\9.0\lib\win32\release
总结

以上是内存溢出为你收集整理的delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序全部内容,希望文章能够帮你解决delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1271986.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存