在去年八月进行初步调查后,我回过头来看看Delphi 2010的远程调试.我已经确定D2010有4和5的更新,并且远程调试器是Embarcadero wesite的最新版本.按照这里非常有用的说明 ,我可以加载远程进程并运行正常,但我不能使用断点.RSM和EXE文件一起位于远程目录中.
有什么我应该检查的吗?我可以手动加载符号表吗?似乎没有调试器设置,但是我可以强迫某些东西迫使D2010加载我的符号表吗?
这是现在让我继续使用Delphi 7的唯一问题 - 我有几台生产机器无法安装IDE进行调试,我确实需要某种远程调试支持.
作为必然结果 - 对XE的远程调试是否支持更好?
谢谢,Brian.
我写了一个简单的VCL win32应用程序,它具有以下代码:
procedure TForm5.Button1Click(Sender: TObject);
begin
ShowMessage('bingo');
end;
Run Code Online (Sandbox Code Playgroud)
我使用运行时包编译了应用程序并打开了以下开关:
输出包含以下文件:
两个运行时包是:
我在Button1Click处理程序中设置了一个断点,如果我在调试器模式下运行应用程序,本地IDE调试器将停在那里.
接下来,我想尝试使用运行时包远程调试应用程序.
我将远程配置文件分配给32位Windows平台.测试连接与远程配置文件一起使用.PAServer也是在远程机器中启动的.当我尝试使用Delphi XE2 IDE调试器运行应用程序时,我注意到有4个文件被复制到远程机器:
但是,事件日志显示:
Module Load: Project1.exe. No Debug Info. Base Address: $00400000. Process Project1.exe (1676)
Run Code Online (Sandbox Code Playgroud)
由于模块没有调试信息,因此所有断点都将无法触发.
我已经尝试构建没有运行时包的单个文件.exe应用程序.相同的远程调试器步骤工作,我可以远程调试应用程序.
使用运行时包构建的应用程序使远程调试失败的原因是什么?