
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
DeploymentIf 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
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
directorIEs,as follows:
以上是内存溢出为你收集整理的delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序全部内容,希望文章能够帮你解决delphi – 如何远程调试使用运行时包构建的Win32 VCL应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)